Vb.net 获取请求的URL

Vb.net 获取请求的URL,vb.net,tcplistener,Vb.net,Tcplistener,我一直在尝试将任何请求的URL读取到我的本地主机。我认为最简单的方法是使用TCPListener。下面是我到目前为止构建的内容,但我不确定如何读取作为字符串请求的URL。我实际上想获取第一个传入的URL,解析出我需要的数据,然后关闭TCPlistener。你知道我怎样才能得到网址吗 Dim TClient As New TcpListener(Net.IPAddress.Parse("127.0.0.1"), 80) TClient.Start() Dim gotIt As Boolean =

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

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

使用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

您要查找的是Referer标题

String requestedUrl = request.getHeader("Referer");
注意Referer是区分大小写的


100%工作

我开始相信这是不可能的?如果答案很简单的话,我现在通常已经有了答案。希望pha您是否尝试读取进入连接的数据?文档中包含了一个如何执行此操作的示例。