【问题标题】:Send HTTP Packets without browser?不使用浏览器发送 HTTP 数据包?
【发布时间】:2013-01-31 15:24:56
【问题描述】:

我想我有两个问题:

  1. 我正在尝试在不使用 Web 浏览器的情况下向 Web 服务器发送 HTTP 请求。我已经阅读了使用 Telnet 执行此操作的最常用方法,但我想知道其他方法。

  2. 另外,我认为我的 telnet 有问题。我激活了 telnet 客户端,然后在命令窗口中输入 telnet,然后输入“open IP-address 80”,它会一直显示“connecting to IP-address ...”,但永远不会让我越过它。你们有人遇到过这个问题吗? 另外,我在 Wireshark 上注意到 TCP 握手正确发生。

请,谢谢!

【问题讨论】:

    标签: http telnet


    【解决方案1】:

    您是否指定了端口?端口 80 通常用于 HTTP 请求。

    telnet www.some-site.com/some-page.html 80

    连接后,您需要发出GET 请求。 (发送命令GET)。

    【讨论】:

    • 是的,我确实指定了端口 80。如果我没有,它使用默认端口 23 并且连接失败。
    【解决方案2】:

    您可以使用sockets 或WebClient (C#) 完成同样的事情:

    默认方式为Telnet:

    您可以从 telnet 命令提示符执行以下操作:

     o   host   port>         (o www.website.com 80)
     GET /index.htm HTTP/1.1
    

    使用WebClient(注意:这是一个 C# WebClient 对象):

     var webClient = new WebClient();
     webClient.Headers.Add("user-agent", "Agent");
     Stream responseStream = webClient.OpenRead("http://www.google.com")
    

    来自服务器的响应将存储在 responseStream 对象中。

    【讨论】:

      【解决方案3】:

      您还应该查看 curl 命令行实用程序:http://curl.haxx.se/ 基本上,它是一个很酷的小软件,可以发出 HTTP 请求(并且还支持其他协议)。另请查看 hurl:http://www.hurl.it/,这是 curl 的一种 Web 应用程序版本。

      【讨论】:

      • curl 是理想的解决方案。
      猜你喜欢
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 2016-11-25
      • 1970-01-01
      相关资源
      最近更新 更多