我一直在尝试将任何请求的网址读取到我的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
答案 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%工作!