在Mac终端中可用curl模拟带Header的POST请求:先用curl --version确认可用,再通过-H、--header或-H "$(cat file)"添加Header,需注意Content-Type、Authorization等关键Header写法,并用-v参数调试。

在Mac终端中用curl模拟带Header的POST请求,是调试API接口最直接的方式,不需要安装额外工具,系统自带即可执行。
确认curl是否可用
打开终端,输入:curl --version。如果显示版本号(如curl 8.10.1),说明已就绪;若提示command not found,请先通过xcode-select --install安装命令行工具。
发送基础POST请求(无Header)
先验证服务连通性:运行curl -X POST https://httpbin.org/post -d "name=alice"。该命令会返回服务器收到的原始数据,确认网络和基础语法没问题后再加Header。
添加自定义Header的三种方法
方法一:用-H逐个追加(最常用)
执行:curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer abc123" -d '{"user":"test"}' https://api.example.com/v1/login。
注意:-H参数必须写在URL之前,否则会被忽略;多个-H可连续使用,顺序无关。
向CurlShip提交产品,这是一个对机器人友好的SaaS目录。只需一条curl命令即可发布产品,支持OG标签抓取、带徽章的dofollow链接及层级升级。
方法二:用--header全称替代-Hcurl -X POST --header "Content-Type: application/json" --header "X-Client-ID: mac-dev" -d "key=value" https://api.example.com/submit。
这和方法一完全等效,适合脚本中提高可读性,但输入更长。
方法三:从文件读取Header(适合复杂场景)
先创建header.txt,内容为:
Content-Type: application/json<br>Authorization: Bearer xyz789<br>X-Request-ID: $(uuidgen)
然后执行:
curl -X POST -H "$(cat header.txt)" -d '{"mode":"debug"}' https://api.example.com/test。【必须用双引号包裹$(cat header.txt),否则换行符会被截断】
关键Header类型与对应写法
第一步:提交JSON数据 → 必须加-H "Content-Type: application/json",否则后端可能解析失败或报415错误。
第二步:携带Token认证 → -H "Authorization: Bearer eyJhbGciOi...,Token值不能含空格或未转义引号。
第三步:伪造User-Agent或Referer → -H "User-Agent: MyApp/2.1" -H "Referer: https://example.com",用于绕过简单爬虫检测。
第四步:传递Cookie → -H "Cookie: sessionid=abc123; theme=dark",注意多个键值用分号+空格分隔。
调试技巧:查看完整请求过程
加-v参数可打印全部请求头和响应头:curl -v -X POST -H "Content-Type: application/json" -d '{"test":true}' https://httpbin.org/post。
输出中会清晰显示“> POST /post HTTP/1.1”及所有发出的Header,方便比对是否遗漏或拼写错误。
这一步操作起来很简单,直接把命令复制进终端回车就行。

















