企业服务网站开发,贵州网站制作,国际军事新闻视频直播,什么网站上做推广curl命令用来做HTTP协议的客户端#xff0c;可以通过命令参数生成各种请求#xff0c;非常强大。1. GET默认情况下下curl执行的是GET操作#xff0c;所以可以当做wget使用如$ curl https://www.baidu.com现在百度使用了https协议#xff0c;但是这个结果还是有点奇怪的可以通过命令参数生成各种请求非常强大。1. GET默认情况下下curl执行的是GET操作所以可以当做wget使用如$ curl https://www.baidu.com现在百度使用了https协议但是这个结果还是有点奇怪的使用https地址却又想让你去访问http。但是浏览器直接输入https地址观察网络情况却没有这个过程。所以可能是百度根据请求头的User-Agent做了一些判断。那么可以在命令中使用-A参数来指定User-Agent(chrome的UA字串)如$ curl https://www.baidu.com -A Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36此时就会有百度首页的内容返回。2. POST/PUT如果不是进行GET请求需要在命令中另外指定请求类型使用-X参数如:-XPUT-XPOSTPUT和POST请求都是可以带请求体的他们通过-d指定另外使用-v参数可以打开verbose模式观察http协议通信情况$ curl -XPOST http://www.baidu.com/ -d a1p1 -v* Hostname was NOT found inDNS cache* Trying 115.239.211.112...* Connected to www.baidu.com (115.239.211.112) port 80 (#0) POST / HTTP/1.1 User-Agent: curl/7.35.0Host: www.baidu.com Accept: */* Content-Length: 7 Content-Type: application/x-www-form-urlencoded* upload completely sent off: 7 out of 7 bytes HTTP/1.1 302 Moved Temporarily Date: Wed, 03 Jun 2015 02:30:05 GMT Content-Type: text/html Content-Length: 215 Connection: Keep-Alive Location:http://www.baidu.com/search/error.html* Server BWS/1.1 is not blacklisted Server: BWS/1.1 X-UA-Compatible: IEEdge,chrome1 BDPAGETYPE: 3 Set-Cookie: BDSVRTM0; path/302 Found302 Foundpr-nginx_1-0-224_BRANCH BranchTime : Thu May 28 14:42:58 CST 2015* Connection #0 to host www.baidu.com left intact开头的行是本机发出的信息上面向百度POST了一个请求当然是乱来的所以对方响应了一个302把目标指向一个错误页面。还可以发现POST请求默认使用的Content-Type是application/x-www-form-urlencoded如果我们使用POST来测试一些RESTful接口的话必须手工指定Content-Type为application/json(假设一般接口都是用json形式接收参数)否则服务端接收到的数据会含有%开头的编码可以使用-H来指定Content-Type这个HTTP头curl -XPOST http://ip:port/api/resource -d {name:hi} -H Content-Type: application/json