curl命令Http操作

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

插图

1.Http操作

  一些命令参数:

参数 作用
-A 自定义User-Agent
-b 读取Cookie
-c 保存Cookie
-d 指定发送的数据
-H 自定义Header
-X 指定发送数据的方式
一般可选字段有GET POST PUT DELETE

  示例:

  • GET请求:

    1
    2
    3
    curl http://www.example.com

    curl -X GET http://www.example.com
  • POST请求:

    1
    2
    3
    curl -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君