别再手动拼 URL:curl 的四个日常用法

举报
yiboyun 发表于 2026/11/09 08:05:35 2026/11/09
【摘要】 接口通不通、服务起来没有、下载链接对不对,这些问题在服务器上基本都离不开 curl。它是 Linux 自带的最常用网络工具,学会四个用法,日常排查网络问题不用再开浏览器、不用再猜。 1. 先看状态码,别只看页面打开一个网址,最先要确认的是它返回了什么状态码。-I 只取响应头,不下载正文:curl -I https://example.com看到 HTTP/2 200 就是通的,301、302...

接口通不通、服务起来没有、下载链接对不对,这些问题在服务器上基本都离不开 curl。它是 Linux 自带的最常用网络工具,学会四个用法,日常排查网络问题不用再开浏览器、不用再猜。

1. 先看状态码,别只看页面

打开一个网址,最先要确认的是它返回了什么状态码。-I 只取响应头,不下载正文:

curl -I https://example.com

看到 HTTP/2 200 就是通的,301、302 是跳转,404 是路径错了,502、503 多半是后端服务没起来。排查时先看状态码,再决定往哪一步查,比直接看页面内容快得多。

2. 出错时加 -v,看清每一步

请求失败但不知道卡在哪一步时,用 -v 打开详细输出:

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

它会把 DNS 解析、TCP 连接、TLS 握手、发送请求头、收到响应头每一步都打印出来。卡在 DNS 就是域名问题,卡在 TLS 就是证书问题,连接超时就是网络或防火墙问题。定位到哪一步,后面的排查方向就清楚了。

3. 发 POST 请求:测接口不用装工具

测一个 POST 接口,不用装 Postman,一条命令就够:

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

-H 加请求头,-d 带请求体。想把返回的 JSON 看得清楚一点,可以管道给 jq:

curl -s https://example.com/api/status | jq .

-s 是静默模式,不输出进度条,只输出正文,适合管道和脚本里用。

4. 下载文件:断点续传和限速

下载大文件时,-O 按远程文件名保存,-C - 支持断点续传:

curl -O https://example.com/big-file.tar.gz
curl -C - -O https://example.com/big-file.tar.gz

第二条命令在下载中断后接着下,不用从头再来。服务器带宽紧张时,还可以用 --limit-rate 限速,避免一次下载把带宽占满:

curl --limit-rate 1M -O https://example.com/big-file.tar.gz

小结

-I 看状态码,-v 看每一步,-X POST 加 -H、-d 测接口,-O 加 -C - 下载续传。四个用法覆盖了日常大部分场景,curl 不用记太多参数,先把这四个用熟,排查网络问题就有了固定的套路。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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