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君