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

1次阅读

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 请求?标准格式

讯飞智文

一键生成PPT和Word,让学习生活更轻松。

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

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

text=ZqhQzanResources