摘要
本文主要讲述了:
- 查看版本
- 查看帮助
- 指定请求 URL
- 啰嗦模式
- 指定请求方法
- 指定请求头
- 指定 cookie 请求头
- 指定 userAgent 请求头
- 指定请求体
- 跟随重定向
- HEAD 方法
- 下载文件
正文
查看版本
1 2 3
| #!/usr/bin/env bash
curl --version
|
查看帮助
1 2 3
| #!/usr/bin/env bash
curl --help
|
指定请求 URL
示例:
1 2 3
| #!/usr/bin/env bash
curl https://example.com
|
啰嗦模式
示例:
1 2 3
| #!/usr/bin/env bash
curl --verbose https://example.com
|
指定请求方法
注意:curl 的默认请求方法为GET
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #!/usr/bin/env bash
curl --request GET https://example.com
curl --request POST https://example.com
curl --request PUT https://example.com
curl --request DELETE https://example.com
|
指定请求头
示例:
1 2 3 4 5 6 7
| #!/usr/bin/env bash
curl --header 'Cookie: jsweibo=123' https://example.com
curl --header 'Cookie: jsweibo=123' --header 'Authorization: jsweibo' https://example.com
|
指定 cookie 请求头
示例:
1 2 3
| #!/usr/bin/env bash
curl --cookie 'a=1;b=2;c=3' https://example.com
|
指定 userAgent 请求头
示例:
1 2 3
| #!/usr/bin/env bash
curl --user-agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36' https://example.com
|
指定请求体
注意:若使用--data
,默认请求方法将变为POST
示例:POST
请求,Content-Type: application/x-www-form-urlencoded
1 2 3
| #!/usr/bin/env bash
curl --data 'a=1&b=2&c=3' https://example.com
|
示例:POST
请求,Content-Type: application/json
1 2 3
| #!/usr/bin/env bash
curl --header 'Content-Type: application/json' --data '[1, 2, 3, 4, 5]' https://example.com
|
跟随重定向
注:即Location
响应头
示例:
1 2 3
| #!/usr/bin/env bash
curl --location https://bing.com
|
HEAD 方法
示例:
1 2 3
| #!/usr/bin/env bash
curl --head https://bing.com
|
下载文件
使用 URL 中的文件名作为输出文件名
注:若不使用--remote-name
,则将文件内容打印在标准输出
示例:下载README.md
并保存为README.md?a=1&b=2&c=3
1 2 3
| #!/usr/bin/env bash
curl --remote-name 'http://127.0.0.1:3000/README.md?a=1&b=2&c=3'
|
指定输出文件名
示例:下载README.md
并保存为test.md
1 2 3
| #!/usr/bin/env bash
curl --output 'test.md' 'http://127.0.0.1:3000/README.md?a=1&b=2&c=3'
|
使用响应头中的文件名作为输出文件名
注:即Content-Disposition
响应头中的filename
指令的值
示例:下载README.md
并保存为README.md
1 2 3
| #!/usr/bin/env bash
curl --remote-name --remote-header-name 'http://127.0.0.1:3000/README.md?a=1&b=2&c=3'
|
不显示下载进度条
示例:
1 2 3
| #!/usr/bin/env bash
curl --silent --remote-name --remote-header-name 'http://127.0.0.1:3000/README.md?a=1&b=2&c=3'
|
参考资料
本文对你有帮助?请支持我