使用命令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不是选择吗?