2

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

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

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

4

3 回答 3

4

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

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

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


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

于 2012-11-04T11:56:18.447 回答
2

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

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

希望这对您有所帮助。

于 2012-11-04T11:35:04.500 回答
1

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

curl -H "If-Modified-Since:04-Nov-2012 11:59:00 GMT" http://host.com/21838937.asp
于 2012-11-04T11:34:17.807 回答