第一次用 curl 调接口,先记住这 5 个参数就够了

举报
yd_229851404 发表于 2026/10/31 10:28:44 2026/10/31
【摘要】 调接口时最常遇到的工具就是 curl。它装在绝大多数 Linux 和 macOS 上,Windows 10 之后也自带,不用装图形工具,一条命令就能发请求、看返回。刚接触时不用背全部参数,先记住下面这 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 就从“黑盒命令”变成顺手的调试工具了。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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