使用命令telnet docs.python.org 80
,我可以http://docs.python.org/2/license.html
通过键入实际请求来向发出手动HTTP 请求。
现在,我不想实时输入内容,而是希望从文本文件中获取请求。
我尝试了这个:
cat request.txt|telnet docs.python.org 80
request.txt:
GET /2/license.html HTTP/1.1
Host: docs.python.org
(您必须用空白行结束文件,否则将收到错误的请求!)
但是,到服务器的连接将立即关闭。
我应该如何正确地将request.txt传递给telnet docs.python.org 80
?
编辑:
很高兴知道;如果您使用HEAD
而不是GET
,则将获得与您发出GET
请求相同的响应,但消息正文除外。
因此,HEAD
如果您只想检查HTTP标头,请使用。(即,这样响应的内容就不会使您的shell输出混乱。)
命令正确。我认为您在输入时即与服务器建立了连接
—
Bentley4年
telnet docs.python.org 80
,因此您必须急于在几秒钟内键入这两行(如果需要,请复制并粘贴),否则服务器将返回超时错误。
这些是确切的命令:
—
Bentley13年
telnet docs.python.org 80
<ENTER>
GET /2/license.html HTTP/1.1
<ENTER>
Host: docs.python.org
<ENTER>
<ENTER>
我认为您需要
—
Bentley4
<ENTER>
在末尾再次键入的原因是因为HTTP协议在请求标头之后需要额外的空行。见请求消息部分的的HTTP wiki文章
该死,从理论上讲,您应该可以做到,
—
terdon
telnet < request.txt
但是我无法使GET
命令正常工作。
GET
您发布的消息时,出现408 Request Time-out
错误。另外,wget http://docs.python.org/2/license.html
不是选择吗?