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

愚蠢的问题:是否有一个批处理模式工具(例如curl或wget的特定选项),可以让我发出原始的HTTP命令,并输出原始结果或pipe道/redirect它,因为我认为合适?

我知道telnet理论上工作,但我运行的是Windows XP,微软的telnet和PuTTY似乎是互动的,似乎把事情搞砸了。


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

  1. 原始的HTTP I / O – 我的意思是像telnet,但在批处理模式(不打开一个新的窗口或用terminal设置mucking):

    GET http://someserver/someresource/blah.html HTTP/1.1 301 Moved Permanently Date: Wed, 14 Oct 2009 21:23:40 GMT ... 
  2. “easy”input,原始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 ... 

是的,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 -如果您想pipe道结果,而不是保存到文件。

curl或wget是很好的select。 但是,如果你真的想要一些等同于telnet的东西,你应该使用netcat ( win32 )而不是使用telnet。 Netcat是为原始I / O telnetdevise的。

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

对于“简单”input,原始HTTP输出: curl -i --raw http://google.fr

对于其他我猜telnet是你最好的机会。