【问题标题】:black screen and error 400 bad request黑屏和错误 400 错误请求
【发布时间】:2012-10-24 11:07:30
【问题描述】:

我正在尝试 telnet 进入 Web 服务器并发送多行请求消息。我必须在请求消息中包含If-modified-since。我为Win7做了设置。

例如,当我在命令提示符下键入 telnet edition.cnn.com 80 时,它会打开一个黑色的空屏幕,我没有看到我键入的任何内容。

然后我在黑屏GET pageName HTTP/1.0上写了这行,它返回400 Bad Request Error并说连接关闭。我该怎么办?我以 get pagename 为例。

【问题讨论】:

  • Windows telnet 客户端是出了名的糟糕。使用PuTTY 之类的内容重试。
  • 好的,我终于通过只为页面输入 GET /21838937.asp 来获得内容,现在我必须包含 If-modified-since

标签: telnet apache


【解决方案1】:

如果您需要与 Web 服务器进行基本交互以外的任何其他操作,我建议您使用专门为这项工作制作的工具,例如 cURL。它将允许您设置标题等。

curl -H "If-Modified-Since:04-Nov-2012 11:59:00 GMT" http://host.com/21838937.asp

【讨论】:

    【解决方案2】:

    400 是一个 HTTP 错误代码,这意味着您确实成功地向服务器发送了一条消息,它只是无效的 HTTP(可能是一个简单的错字) 黑屏并且看不到您输入的内容是 telnet 的“正常”行为(至少我一直都是这样)。

    如果您使用像 Putty 这样的工具,您可以看到您输入的内容,因此更容易执行此类操作并发现您的拼写错误。 在此处查看教程:http://www.hellboundhackers.org/articles/571-spoofing-http-requests-with-putty.html

    希望对你有所帮助。

    【讨论】:

      【解决方案3】:

      如果你想使用例如telnet客户端手动获取网页,你必须记住HTTP请求头的格式:

      获取页面名称 HTTP/1.0 附加标题 附加标题

      注意最后一行是空行。您可能还需要HTTP/1.1 才能使某些标头有意义。请阅读 HTTP 规范以获取更多信息以及哪些标头是标准的。


      “黑屏”只是在命令窗口中运行的 telnet 程序。

      【讨论】:

      • 那提到的黑屏操作呢?
      • 另外,案例很重要。如果您写http/1.1,您收到400 Bad Request 回复,然后将头撞在墙上,不知道出了什么问题。问我怎么知道的。
      猜你喜欢
      • 2011-03-09
      • 2017-12-31
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多