我想知道是否可以通过命令提示符或使用任何编程语言手动执行不同的http协议方法(如GET,POST,HEAD等)而不使用浏览器?是否可以发布http方法,如get,post方式而不使用浏览器?
如果是,那该怎么做?
请指教!!!
我想知道是否可以通过命令提示符或使用任何编程语言手动执行不同的http协议方法(如GET,POST,HEAD等)而不使用浏览器?是否可以发布http方法,如get,post方式而不使用浏览器?
如果是,那该怎么做?
请指教!!!
Curl使这很简单:
# get
curl http://www.google.com/
# head
curl -I http://www.google.com/
# post application/x-www-form-urlencoded
curl -d "parameter1=value1¶meter2=value2" http://stackoverflow.com
看那command-line docs对于如何做更高级的请求的例子。
这是可能的,使用php的header()函数或使用telnet和手动输入标题。
几乎每种语言都至少有一种执行HTTP请求的机制。从命令行你可以使用诸如wget和cURL之类的工具。
从Windows命令行的Telnet,所有编程语言(几乎)都有自己的API。
您可以使用wget或curl自动执行此操作,如果您想手动执行此操作,请使用telnet或netcat。
连接到服务器:
$ telnet www.example.com 80
Trying 192.0.32.10...
Connected to www.example.com.
Escape character is '^]'.
输入您的请求:
GET/HTTP/1.1
Host: www.example.com
Connection: close
(这是在最后两个新行)
检查响应:
HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: close
Content-Length: 0
也有无数的库,如Python的httplib。
非常感谢...你可以举一个如何发出命令的例子吗?我通过命令提示符打开了telnet,但无法成功发出命令。 – Shekhar 2011-03-16 15:50:59
运行“telnet www.someserver.com 80”(80是HTTP)然后输入你的请求,如“GET/HTTP/1.1” – 2011-03-16 16:01:38