目录
curl完整命令详解
curl: command line url reviewer
发出网络请求,然后得到和提取数据,显示在标准输出上。
查看网页源码
// curl url
curl http://www.baidu.com
保存网页内容
// curl -o [文件名] url
curl -o index.html http://www.baidu.com
自动跳转
// curl -L url
curl -L http://www.baidu.com
显示head信息
// curl -i url ,显示http response的head信息,和网页代码
curl -i http://www.baidu.com
// curl -I url ,只显示http response的head信息
curl -I http://www.baidu.com
显示通信过程
// curl -v url ,显示一次http通信的整个过程,包括端口,和http request head 信息
curl -v http://www.baidu.com
查看更详细的通信过程
// curl --trace 文件名 url 或者 curl --trace-ascii 文件名 url
发送表单信息
// get 请求
// curl url?data=xxx
curl example.com/form.cgi?data=xxx
// post请求,-X可以支持其他动词,如DELETE,POST
curl -X POST --data "data=xxx" url
// 编码
curl -X POST --data-urlencode "data=xxx" url
// 使用post提交json数据
curl -H "Content-Type: application/json" -X POST --data '{"name":"katy"}' http://localhost:8090/user
文件上传
curl --form upload=@localfilename --form press=ok url
refer
在http request的head信息中提供refer字段,表示从哪里跳转过来的
$ curl --referer http://www.example.com http://www.example.com
user agent
代表客户端的设备信息,服务器有时会根据这个字段,针对不同设备,返回不太格式的网页,如手机版和PC版。
curl --user-agent "[User Agent]" [URL]
cookie
// 使用--cookie参数,可以让curl发送cookie
curl --cookie "name=xxx" www.example.com
// -c 可以保存服务器返回的cookie文件
curl -c 文件名 url
// -b 可以使用这个文件作为cookie信息
curl -b 文件名 url
增加head信息
// 使用--header参数
curl --header "Content-Type:application/json" http://example.com
http认证
// 使用--user参数
curl --user name:password example.com