5 分钟学会用 curl 调试接口

举报
yd_250779715 发表于 2026/10/24 15:14:14 2026/10/24
【摘要】 后端联调时,前端同学常说"接口调不通",后端同学回一句"我本地是好的"。这时候,与其在聊天记录里来回贴截图,不如打开终端,用 curl 一条命令把真相问出来。curl 是几乎每台 Linux / macOS 都自带的 HTTP 客户端,学会 6 个常用姿势,接口调试效率翻倍。 姿势一:GET 请求,看接口"活没活"curl https://api.example.com/health最简单的...

后端联调时,前端同学常说"接口调不通",后端同学回一句"我本地是好的"。这时候,与其在聊天记录里来回贴截图,不如打开终端,用 curl 一条命令把真相问出来。curl 是几乎每台 Linux / macOS 都自带的 HTTP 客户端,学会 6 个常用姿势,接口调试效率翻倍。

姿势一:GET 请求,看接口"活没活"

curl https://api.example.com/health

最简单的用法,直接拿到响应体。接口文档里的 GET 地址,复制过来就能试。

姿势二:-i,同时看"响应头"

curl -i https://api.example.com/health

-i 会把响应头和响应体一起打印。排查"为什么返回 302 跳转"或"缓存为什么不生效"时,先看响应头里的 Location、Cache-Control,答案往往就在那里。

姿势三:-X POST + -d,模拟"提交表单"

curl -X POST https://api.example.com/login \
  -H "Content-Type: application/json" \
  -d '{"username":"demo","password":"123456"}'

-X 指定请求方法,-H 加请求头,-d 带请求体。注意 JSON 里的双引号要用单引号把整个 -d 参数包起来,否则 shell 会解析出错。这是联调登录、注册类接口最常用的组合。

姿势四:-H 带上 Token,模拟"已登录用户"

curl https://api.example.com/me \
  -H "Authorization: Bearer eyJhbGciOi..."

很多接口需要登录态。把浏览器或 App 里抓到的 Token 拼在 Authorization 头里,就能以真实用户身份请求,复现"登录后才出现的 bug"。

姿势五:-o,把"下载的东西"存下来

curl -o report.pdf https://api.example.com/export?date=2026-10-24

接口返回的是文件而不是 JSON?用 -o 指定保存的文件名。想看下载进度再加个 -#,会显示进度条。

姿势六:-w,只看"关键指标"

curl -o /dev/null -s -w "状态码:%{http_code} 耗时:%{time_total}s\n" \
  https://api.example.com/health

-s 静默模式(不输出进度),-w 自定义输出格式。怀疑接口变慢时,用它量一下精确到毫秒的耗时,比"我感觉有点卡"有说服力得多。

一个真实排查案例

某天前端说"列表页空白",后端说"我这边返回正常"。curl 一试:

curl -i https://api.example.com/list

响应头里赫然写着 HTTP/1.1 401 Unauthorized——原来是前端请求没带 Token,根本不是后端数据问题。一条命令,5 秒钟,争论结束。

三个小提醒

第一,生产环境的 Token、密码不要贴到公共聊天记录或工单里,curl 命令自己在本地跑就好。第二,-d 默认发的 Content-Type 是表单格式,发 JSON 一定记得加 -H "Content-Type: application/json"。第三,curl 默认不跟随跳转,调试短链接或登录跳转时加上 -L。

把这 6 个姿势存进你的命令备忘录。下次再遇到"接口调不通",先 curl 一下再说话——数据面前,扯皮最少。

(全文约 900 字,原创)

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。