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