好的,阿杰 😄,我帮你整理一份 Linux 下使用 curl
发送 POST 请求的详解教程,从基础语法到常用示例和高级技巧。
🐧 Linux curl
发送 POST 请求
一、curl
基础
curl
是 Linux 下的命令行工具,用于 发送 HTTP 请求- 支持:GET、POST、PUT、DELETE 等方法
- 可以与 API、Web 服务交互,调试接口非常方便
基本语法
curl [options] [URL]
二、发送 POST 请求
1. 基本 POST
curl -X POST http://example.com/api
-X POST
指定请求方法为 POST- 如果没有
-X
,默认是 GET
2. 发送表单数据(application/x-www-form-urlencoded
)
curl -X POST -d "username=ajie&password=123456" http://example.com/login
-d
或--data
:发送表单数据- 多个
-d
参数会自动拼接为&
3. 发送 JSON 数据
curl -X POST -H "Content-Type: application/json" \
-d '{"username":"ajie","password":"123456"}' \
http://example.com/api/login
-H
添加请求头-d
传 JSON 字符串
4. 从文件读取 POST 数据
curl -X POST -H "Content-Type: application/json" \
-d @data.json \
http://example.com/api/login
@
表示从文件读取数据
三、发送带 Header 的 POST 请求
curl -X POST http://example.com/api \
-H "Authorization: Bearer TOKEN123" \
-H "Content-Type: application/json" \
-d '{"key":"value"}'
- 可添加多个
-H
- 常用于带 token 的 API 请求
四、保存响应到文件
curl -X POST -d "param=value" http://example.com/api -o response.json
-o
或--output
:保存响应内容到文件
五、显示详细请求信息
curl -X POST -d "param=value" http://example.com/api -v
-v
输出详细请求头和响应头信息-i
只显示响应头
六、使用 --data-binary
发送原始数据
curl -X POST --data-binary @file.bin http://example.com/upload
- 保持数据原样发送,适合上传二进制文件
七、其他常用参数
参数 | 说明 |
---|---|
-u user:pass | 基本认证(Basic Auth) |
-F "file=@localfile" | 上传文件(multipart/form-data) |
-L | 跟随重定向 |
-k | 忽略 HTTPS 证书验证 |
-s | 静默模式,不显示进度条 |
-w "%{http_code}" | 输出 HTTP 状态码 |
八、示例:完整 POST 请求
curl -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TOKEN123" \
-d '{"username":"ajie","password":"123456"}' \
-o response.json \
-w "HTTP状态码: %{http_code}\n" \
-s -L
-o response.json
→ 保存响应-w "%{http_code}"
→ 输出状态码-s
→ 静默模式-L
→ 跟随重定向
发表回复