【问题标题】:Get Requested URL获取请求的 URL
【发布时间】:2018-05-07 06:39:35
【问题描述】:

我一直在尝试将任何请求的 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

【问题讨论】:

  • 我开始相信这是不可能的?如果它很简单,我现在通常会有答案。希望滑落..:p
  • 您是否尝试过读取进入连接的数据?该文档包含如何执行此操作的示例。 msdn.microsoft.com/en-us/library/…

标签: vb.net tcplistener


【解决方案1】:

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

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

谢谢你,@CoderDennis

【讨论】:

    【解决方案2】:

    您要查找的是 Referer 标头。

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

    请注意 Referer 区分大小写。

    100% 工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2015-09-13
      • 2017-04-11
      • 2015-03-11
      • 2011-11-08
      相关资源
      最近更新 更多