2012-11-04 179 views
2

我正在尝试telnet到Web服务器并发送多行请求消息。我必须在请求消息中包含If-modified-since。我为Win7做了设置。黑屏和错误400错误请求

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

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

+1

Windows telnet客户端非常糟糕。用[PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/)再试一次。 –

+0

好吧我终于通过输入一个页面获取内容GET /21838937.asp现在我必须包括如果修改 - 自 –

回答

4

如果您要使用例如一个telnet客户端手动获取网页的页面,你要记住一个HTTP请求头的格式:

 
GET pageName HTTP/1.0 
additional header 
additional header 

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


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

+0

以来,那么空白屏幕op提到什么? –

+0

另外,案件事宜。如果你写'http/1.1',你会得到一个'400 Bad Request'响应,并且将你的头撞到墙上,不知道哪里出了问题。问我怎么知道。 –

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

希望这可以帮助你。