获取请求的URL

时间:2015-05-08 18:01:47

标签: vb.net tcplistener

我一直在尝试将任何请求的网址读取到我的localhost。我认为最简单的方法是使用TCPListener。下面是我到目前为止所构建的内容,但我不确定如何读取请求的URL作为字符串。我实际上想要获取第一个传入的URL,解析出我需要的数据然后关闭TCPlistener。知道如何获取URL吗?

Dim TClient As New TcpListener(Net.IPAddress.Parse("127.0.0.1"), 80)
TClient.Start()
Dim gotIt As Boolean = False
Do While gotIt = False
    Dim x = TClient.AcceptTcpClient()
    Console.WriteLine(x)
    TClient.Stop()
Loop

2 个答案:

答案 0 :(得分:0)

使用MSDN中的一个例子,我得出了这个:

    Dim server As TcpListener = Nothing

    Dim port As Int32 = 80
    Dim localAddr As IPAddress = IPAddress.Parse("127.0.0.1")
    server = New TcpListener(localAddr, port)
    server.Start()
    Dim bytes(1024) As Byte
    Dim data As String = Nothing

    Dim client As TcpClient = server.AcceptTcpClient
    data = Nothing
    Dim stream As NetworkStream = client.GetStream
    Dim i As Int32
    i = stream.Read(bytes, 0, bytes.Length)

    data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)

    client.Close()
    server.Stop()

数据变量包含我要查找的信息,只需将其解析出来。

谢谢你,@ CoderDennis

答案 1 :(得分:0)

您正在寻找的是Referer标题。

String requestedUrl = request.getHeader("Referer");

请注意 Referer 区分大小写。

100%工作!