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

13次阅读

用 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

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

Genesis

开源的生成式物理引擎,可模拟世界万物。

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

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

关键参数说明

  • -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 字符串 —— 其他都是锦上添花。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-05发表,共计1311字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources