代码之家  ›  专栏  ›  技术社区  ›  knittl

如何将文件馈送到telnet

  •  11
  • knittl  · 技术社区  · 14 年前

    试图理解http和头,我正在玩telnet发送请求。为了不一次又一次地输入所有的内容,我想我应该用我需要的所有命令写一个小的文本文件。

    我的文件如下所示:

    GET /somefile.php HTTP/1.1
    Host: localhost
    

    然后,我尝试通过IO重定向将其馈送到Telnet:

    $ telnet localhost 80 < telnet.txt
    

    但我得到的结果是

    Trying ::1...
    Connected to localhost.
    Escape character is '^]'.
    Connection closed by foreign host.
    

    我做错什么了?

    3 回复  |  直到 10 年前
        1
  •  9
  •   chetan    14 年前

    telnet不是此作业的正确工具。尝试:

    netcat本地主机80<telnet.txt

    顺便说一下,如果你的机器上没有安装工具,你 可以在这里得到:

    http://netcat.sourceforge.net/

        2
  •  7
  •   user2316370    10 年前

    问题是,您可以立即将所有输入馈送到telnet命令,而无需等待其输出。在输入完所有输入文件后,它将自动导致telnet“挂断”,因为输入流到达其末端(eof)。当这种情况发生时,telnet可能仍在第一毫秒或微秒内等待建立到远程服务器的连接。 您要做的是,向telnet发送一个命令,然后等待它完成其工作,也就是等待服务器的响应,然后发送下一个命令,依此类推,并且只在您发送的所有命令都被实际处理时在最后挂断。 为此,请使用“expect”脚本,而不是insta提供文本文件。“期望”是做这项工作的常用工具。

        3
  •  0
  •   amertune    14 年前

    我不知道有没有可能 telnet . 你看过吗 netcat ?