无法通过命令行使用telnet获取http响应

8
我使用的是Windows 7(x64)。我想通过命令行发送一个http请求并获取响应。我使用Telnet。我在命令行中输入:telnet www.google.com 80。 按下“Enter”后,屏幕会变黑(cmd屏幕上的所有内容都会消失)。 几分钟后,它显示一个标准的命令提示符,没有输出任何内容。
当我在命令行中启动telnet(不带参数输入telnet),并键入o www.google.com 80时,它会输出Connecting to www.google.com。几分钟后,它会显示press any key。按下任意键后,它会输出The connection was lost。
我的问题是:我该如何获得http响应?我做错了什么?

1
一个Web服务器会在非常短的超时时间内期望收到GETPOST请求。你可能无法在给定服务器上快速输入。 - luser droog
1个回答

18
连接已建立,等待您输入命令。输入GET / HTTP/1.0并按下Enter键两次。该命令区分大小写。由于默认情况下未开启本地回显,因此不会在您键入时显示。您可以像这样启用本地回显:
C:\>telnet
Welcome to Microsoft Telnet Client

Escape Character is 'CTRL++'

Microsoft Telnet> set localecho
Local echo on
Microsoft Telnet> open www.example.com 80
Connecting To www.example.com...
GET / HTTP/1.0

或者你可以使用PuTTY,它默认情况下显示键入的文本(但需要配置会话以在退出时不关闭窗口)。
有关HTTP的更多信息,请参见Wikipedia。有关协议规范,请参见RFC 2616

唯一的问题是,当我输入任何字母时,它不会输出它们...但我按照你说的方式输入,它起作用了(我得到了响应)!你知道输出我输入的符号的问题在哪里吗? - user1460819

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接