首页 > 运维 > linux运维 > 正文

Linux curl 怎么发送 POST/JSON 请求?标准格式

冰川箭仙
发布: 2025-12-05 21:42:08
原创
198人浏览过
用curl发送POST请求携带JSON数据需指定POST方法、设置Content-Type为application/json,并通过-d传入合法JSON字符串;推荐使用单行双引号格式或--data-binary@file.json读取文件。

linux curl 怎么发送 post/json 请求?标准格式

curl 发送 POST 请求并携带 JSON 数据,核心是两件事:指定请求方法为 POST,并正确设置 Content-Typeapplication/json,再把 JSON 数据通过 -d(或 --data)传入。

基本格式(推荐)

最标准、最常用的一行命令:

curl -X POST -H "Content-Type: application/json" -d '{"key":"value","num":123}' https://api.example.com/endpoint

Winston AI
Winston AI

强大的AI内容检测解决方案

Winston AI 138
查看详情 Winston AI

关键参数说明

  • -X POST:显式声明请求方法(可省略,因为 -d 默认触发 POST)
  • -H "Content-Type: application/json":必须加,否则服务端可能无法识别 JSON 体
  • -d '{"key":"value"}':JSON 数据要写成**单行字符串**,字段名和字符串值都必须用双引号(JSON 标准要求)
  • 如果 JSON 内容较长或含特殊字符(如换行、单/双引号),建议用 --data-binary @file.json 从文件读取

实用技巧与常见写法

  • 省略 -X POST(更简洁):
    curl -H "Content-Type: application/json" -d '{"name":"Alice"}' https://api.example.com/users
  • 发送空 JSON 对象:
    curl -H "Content-Type: application/json" -d '{}' https://api.example.com/ping
  • 从文件读取(推荐用于复杂 JSON):
    curl -H "Content-Type: application/json" --data-binary @data.json https://api.example.com/upload
  • 带认证或额外 Header(如 Token):
    curl -H "Content-Type: application/json" -H "Authorization: Bearer abc123" -d '{"msg":"hi"}' https://api.example.com/msg

注意避坑

  • 别用单引号包裹整个 JSON(如 '{"k":'v'}')—— shell 会报错;内部单引号需转义或改用双引号
  • 别漏掉 Content-Type 头,否则后端常返回 415 Unsupported Media Type
  • 中文或特殊字符确保 JSON 是 UTF-8 编码,Linux 终端一般默认支持,无需额外处理
  • 调试时加 -v 查看完整请求/响应:
    curl -v -H "Content-Type: application/json" -d '{"test":true}' https://httpbin.org/post

基本上就这些。记住三要素:POST 方法、JSON 头、合法 JSON 字符串 —— 其他都是锦上添花。

以上就是Linux curl 怎么发送 POST/JSON 请求?标准格式的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号