curl用于命令行或脚本来传输使用URL语法指定的数据。本文介绍使用curl进行Http请求的相关操作。

1.Http操作
一些命令参数:
| 参数 | 作用 | 
|---|---|
-A | 
自定义User-Agent | 
-b | 
读取Cookie | 
-c | 
保存Cookie | 
-d | 
指定发送的数据 | 
-H | 
自定义Header | 
-X | 
指定发送数据的方式 一般可选字段有 GET POST PUT DELETE | 
示例:
GET请求:
1
2
3curl http://www.example.com
或
curl -X GET http://www.example.comPOST请求:
1
2
3curl -X http://www.example.com -d "somedata"
或
curl -X POST http://www.example.com -d "somedata"PUT请求:
1
curl -X PUT http://www.example.com -d "somedata"
DELETE请求:
1
curl -X DELETE http://www.example.com/123
Cookie操作:
从指定网址读取Cookie和写入Cookie,可以同时设置-b和-c使用相同的文件:1
curl -b cookies.txt -c cookies.txt http://www.example.com
2.超时操作
  连接超时操作(使用--connect-timeout参数):1
curl --connect-timeout 30 http://www.example.com
  数据传输的最大允许时间(使用-m参数):1
curl -m 3000 http://www.example.com
3.更多
  curl工具不止支持http(s)协议,还支持DICT,FILE,FTP,FTPS等协议,更多相关可以浏览官网和源码库。
  官网:1
https://curl.haxx.se/
  源码:1
https://github.com/curl/curl
文章首发于微信公众号: Qt君