第一次用 curl 调接口,先记住这 5 个参数就够了
调接口时最常遇到的工具就是 curl。它装在绝大多数 Linux 和 macOS 上,Windows 10 之后也自带,不用装图形工具,一条命令就能发请求、看返回。刚接触时不用背全部参数,先记住下面这 5 个,就能应付日常大部分场景。
第一,-X 指定请求方法。默认 curl 发的是 GET 请求,想发 POST 就加 -X POST。举个例子:curl -X POST https://api.example.com/users。方法错了,接口常返回 405,看到这个状态码先检查方法对不对,而不是怀疑地址写错了。
第二,-H 加请求头。最常用的是声明发送的数据格式:-H "Content-Type: application/json",以及带身份凭证:-H "Authorization: Bearer 你的 token"。多个头可以写多个 -H。漏了 Content-Type,服务端可能把 JSON 当成普通文本解析,直接报 400。
第三,-d 带请求体。POST 提交数据就靠它:-d '{"name":"test","age":20}'。注意两点:一是 JSON 里的双引号在 shell 里要用单引号把整个体包起来,不然会被 shell 拆掉;二是 -d 默认就是 POST,不写 -X 也行,但显式写上 -X POST 更清楚,别人读命令时一眼看懂。
第四,-i 看响应头。默认 curl 只打印响应体,加上 -i 会先把状态行和响应头打出来:HTTP/1.1 200 OK、Content-Type、Set-Cookie 这些都能看到。接口返回不符合预期时,先看 -i 的状态码和 Content-Type,再决定是请求写错了还是服务端的问题。
第五,-o 把结果存文件。下载文件或保存返回内容时用 -o 文件名:curl -o result.json https://api.example.com/data。配合 -s(静默,不打印进度条)一起用,写进脚本里最干净:curl -s -o result.json …。反过来只想看返回、不想存文件,就不用 -o。
串起来一个完整例子:curl -s -X POST https://api.example.com/login -H "Content-Type: application/json" -d '{"user":"demo","pass":"123456"}'。方法、请求头、请求体各就其位,返回的 JSON 直接打在屏幕上。排查时再加 -i 看状态码和响应头,基本就够定位问题了。
最后提醒两点:一是不要在聊天记录或公开场合贴带真实 token 的 curl 命令,token 泄露等于账号泄露;二是用 -d 发敏感数据时注意 shell 历史会留下记录,调试完及时清理。记住这 5 个参数,curl 就从“黑盒命令”变成顺手的调试工具了。
- 点赞
- 收藏
- 关注作者
评论(0)