愚蠢的问题:是否有一个批处理模式工具(例如curl或wget的特定选项),可以让我发出原始的HTTP命令,并输出原始结果或pipe道/redirect它,因为我认为合适?
我知道telnet理论上工作,但我运行的是Windows XP,微软的telnet和PuTTY似乎是互动的,似乎把事情搞砸了。
编辑:(澄清)我之前使用过curl,所以我很熟悉这个想法,以及如何通过GET / POST发送参数,而不是如何明确地控制标题,以及如何在输出中保留标题。 ..我可以看到两种可能对我有用的方法:
原始的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 ...
“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是你最好的机会。