为了理解http和头,我尝试使用telnet来发送请求。为了避免一次又一次地输入所有内容,我想我应该写一个包含我需要的所有命令的小文本文件。
我的文件就像下面这样简单:
GET /somefile.php HTTP/1.1
Host: localhost然后,我尝试使用io-redirection将其提供给telnet:
$ telnet localhost 80 < telnet.txt但我得到的所有输出都是
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.我做错了什么?
发布于 2010-04-15 01:11:29
telnet不是这项工作的合适工具。尝试:
netcat localhost 80 < telnet.txt顺便说一句,如果你的机器上没有安装这个工具,你可以在这里得到它:
http://netcat.sourceforge.net/
发布于 2014-05-17 00:26:18
问题是您立即将所有输入提供给telnet命令,而不等待其输出。在输入完所有的输入文件之后,它会自动导致telnet“挂起”,因为输入流已经到达了它的末尾(EOF)。当这种情况发生时,Telnet可能仍在等待建立到远程服务器的连接的第一毫秒或微秒内。您想要做的是,向telnet发送一个命令,然后等待它完成其工作即等待服务器的响应,然后发送下一个命令,依此类推,直到最后当您发送的所有命令都被实际处理时才挂起。要做到这一点,请使用“expect”脚本,而不是insta- text文本文件。“‘Expect”是完成这项工作的常用工具。
发布于 2020-07-02 00:19:11
上面的建议非常好,除了telnet的端口号是23,而不是80。因此,如果您在这里寻找如何将数据馈送到telnet端口(如我所做的,以配置以太网控制的电源交换机),那么使用端口23。
https://stackoverflow.com/questions/2639419
复制相似问题