用于发出原始 HTTP 命令的实用程序?

用于发出原始 HTTP 命令的实用程序?

愚蠢的问题:有没有批处理模式实用程序(例如 curl 或 wget 的特定选项)可以让我发出原始 HTTP 命令,并根据我的需要输出原始结果或管道/重定向它?

我知道 telnet 理论上可以工作,但我运行的是 Windows XP,Microsoft telnet 和 PuTTY 似乎都是交互式的,而且似乎把事情搞砸了。


编辑:(澄清)我以前用过 curl,所以很熟悉这个想法,以及如何通过 GET/POST 发送参数,只是不知道如何明确控制标题,以及如何将标题保留在输出中...我可以看到两种对我有用的可能方法:

  1. 原始 HTTP I/O-- 我的意思实际上是像 telnet 但是采用批处理模式(不打开新窗口或弄乱终端设置):

    GET http://someserver/someresource/blah.html
    HTTP/1.1 301 Moved Permanently
    Date: Wed, 14 Oct 2009 21:23:40 GMT
      ...
    
  2. “简单”输入,原始 HTTP 输出——以常规方法使用 curl,但能够逐字查看原始输出:

    > curl --some-option --another-option http://someserver/someresource/blah.html
    HTTP/1.1 301 Moved Permanently
    Date: Wed, 14 Oct 2009 21:23:40 GMT
      ...
    

答案1

是的,curl 和 wget 都可以做到这一点。请详细说明您要执行哪种命令。

随机示例:

wget --post-data="Some random data sent via POST" "http://example.com/cgi/something.php?arg=1&foo=bar" -q -O results.txt

通过 POST 发送一些数据,并通过 GET 发送一些参数到特定 URL。-q 表示不提供进度更新,-O 指定要输出到哪个文件。-O -如果您希望通过管道传输结果而不是保存到文件,请使用此选项。

答案2

Curl 或 wget 都是不错的选择。但如果你真的想要一些与 telnet 相当的东西,你应该使用网猫win32) 而不是使用 telnet。Netcat 是为原始 i/o 设计的,而 telnet 则不是。

答案3

Mac OS X 的 HTTP 客户端非常方便,http://ditchnet.org/httpclient/

答案4

相关内容