curl 是一个非常强大的命令行工具,主要用于从命令行或脚本中进行各种网络请求。以下是一些常用的 curl 用法示例:
基本用法
- GET 请求:发送一个基本的 GET 请求:
curl http://example.com
显示 HTTP 响应头
- 显示响应头:使用
-i选项显示响应头:curl -i http://example.com
添加 HTTP 请求头
- 添加请求头:使用
-H选项添加自定义请求头:curl -H "Authorization: Bearer YOUR_TOKEN" http://example.com
POST 请求
-
发送 POST 请求:使用
-X POST和-d选项发送 POST 请求:curl -X POST -d "param1=value1¶m2=value2" http://example.com -
发送 JSON 数据:发送 JSON 数据时需要指定内容类型:
curl -X POST -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" http://example.com
PUT 请求
- 发送 PUT 请求:
curl -X PUT -d '{"key1":"value1"}' -H "Content-Type: application/json" http://example.com
文件上传
- 上传文件:使用
-F选项上传文件:curl -F "file=@/path/to/file" http://example.com/upload
保存响应到文件
- 保存响应:使用
-o选项将响应保存到文件:curl -o output.txt http://example.com
显示详细信息
- 显示详细信息:使用
-v选项显示详细的请求和响应信息:curl -v http://example.com
Basic 认证
- Basic 认证:使用
-u选项提供用户名和密码进行 Basic 认证:curl -u username:password http://example.com
下载文件
- 下载文件:使用
-O选项下载文件,保留原文件名:curl -O http://example.com/file.zip
限制带宽
- 限制下载速度:使用
--limit-rate选项限制下载速度:curl --limit-rate 100k http://example.com/file.zip
代理
- 通过代理发送请求:使用
-x选项设置代理:curl -x http://proxyserver:port http://example.com
跟踪重定向
- 跟踪重定向:使用
-L选项跟踪重定向:curl -L http://example.com
示例综合
- 综合示例:结合多个选项的请求示例:
curl -X POST -d '{"key1":"value1"}' -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_TOKEN" http://example.com -o response.json
以上是 curl 的一些常用用法,涵盖了从基本请求到高级功能的各种场景。根据你的具体需求,可以组合使用这些选项来完成不同的任务。