curl是一个命令行工具,对于web开发者来讲,这工具是很是有用的。html
下面针对一些比较经常使用的场景,举例说明一下curl的使用。更多的使用方式,请自行阅读文档。web
入门级命令cookie
curl www.baidu.com 当增长参数-o(小写字母)时,至关于wget命令。 curl -o baidu.html www.baidu.com
请求头部信息app
小写字母i会显示包括Http头部信息和Body信息。 curl -i www.baidu.com 大写字母I只会显示Http头部信息。 curl -I www.baidu.com
举例:利用头部请求检测服务是否正常启动。curl
if curl -s -I --connect-timeout 5 --max-time 20 --retry-max-time 5 --retry-delay 1 http://127.0.0.1:8082/hello.do | grep -q '200 OK'; then echo "Tomcat maybe OK" else echo "Tomcat maybe FAULT" fi
模拟Http请求工具
get请求,只须要在url后面直接带参数 curl http://www.baidu.com?a=1&b=2 默认是使用GET的方法请求,也能够使用-X参数指定HTTP方法。使用-d指定POST的参数。 curl -X POST -d 'a=1&b=2' http://www.baidu.com 当POST的参数是须要进行编码时,能够使用--data-urlencode代替-d curl -X POST --data-urlencode 'a=1 &b=2' http://www.baidu.com
模拟带UserAgent的请求,在处理在些防钓鱼的接口状况比较经常使用。编码
curl --user-agent 'Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5.2-2.fc11 Firefox/3.5.2' www.baidu.com
模拟ContentType的请求url
curl -H 'application/x-www-form-urlencoded;charset=GB2312' www.baidu.com
模拟带Refferer的请求。在处理在些防钓鱼的接口状况比较经常使用。命令行
curl --referer 'www.163.com' 'www.baidu.com'
带Cookie的请求code
curl --cookie 'a=1;b=2' www.baidu.com
忽略https证书
#一般报错curl: (51) SSL: certificate subject name curl -k 'https://www.baidu.com'
显示Http通信详情。能够用于分析请求。
curl -v www.baidu.com