curl 是一个用于与服务器进行数据交换的命令行工具,支持多种协议,如 HTTP、HTTPS、FTP、SFTP 等。常用于下载文件、上传数据、测试 API、查看 HTTP 响应头等操作。以下是 curl 命令的基本用法和一些常见示例。

1. 基本语法

curl [options] [URL]

2. 常用选项

-X : 指定请求方法 (GET、POST、PUT、DELETE 等)

-d : 用于 POST 请求发送数据

-H

: 设置请求头

-u : 设置基本认证

-i: 包含 HTTP 响应头

-o : 将输出保存到指定文件

-O: 下载并保存文件,文件名与 URL 中的文件名相同

-L: 跟踪重定向

-v: 显示详细的请求和响应信息

-k: 忽略 SSL 证书验证 (用于 HTTPS)

-A : 设置自定义的 User-Agent 字段

-F : 上传文件(表单数据)

3. 常见用法示例

3.1. 获取网页内容 (默认 GET 请求)

curl https://www.example.com

3.2. 获取网页并显示响应头 (-i)

curl -i https://www.example.com

3.3. 下载文件并保存到指定位置

curl -o filename.html https://www.example.com

3.4. 下载文件并使用 URL 中的文件名

curl -O https://www.example.com/file.zip

3.5. 使用 POST 请求发送数据

curl -X POST -d "name=John&age=30" https://www.example.com/form

3.6. 使用 JSON 数据发送 POST 请求

curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' https://www.example.com/api

3.7. 设置请求头

curl -H "Authorization: Bearer your_token" https://www.example.com/api

3.8. 使用基本认证

curl -u username:password https://www.example.com/protected

3.9. 跟踪 HTTP 重定向

curl -L https://www.example.com

3.10. 忽略 SSL 证书验证(适用于 HTTPS)

curl -k https://www.example.com

3.11. 获取 HTTP 状态码

curl -o /dev/null -s -w "%{http_code}\n" https://www.example.com

3.12. 上传文件

curl -F "file=@/path/to/file" https://www.example.com/upload

3.13. 使用 GET 方法并设置自定义的 User-Agent

curl -A "MyCustomUserAgent/1.0" https://www.example.com

4. 调试与查看详细信息

4.1. 查看请求和响应的详细信息(包括头信息)

curl -v https://www.example.com

4.2. 调试请求(显示请求的详细信息)

curl --trace-ascii trace.txt https://www.example.com

5. 高级用法

5.1. 设置超时限制

curl --max-time 30 https://www.example.com

5.2. 支持 FTP 上传文件

curl -T /path/to/local/file ftp://ftp.example.com/remote/path/

5.3. 使用代理

curl -x http://proxy.example.com:8080 https://www.example.com

5.4. 并行请求(使用 -Z 启用多线程)

curl -Z https://www.example1.com https://www.example2.com

总结

curl 是一个非常灵活和强大的命令行工具,可以帮助用户执行各种 HTTP(S) 请求、上传和下载文件、调试 API 等。掌握其常用选项,可以大大提高你的工作效率,尤其是在与 API 交互和进行网络调试时。


海信电视上如何安装爱奇艺
😕这阵容……美国男篮世界杯名单已确定10位 星光着实有点黯淡