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