You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Cmd下调用ChatGPT API的curl请求JSON解析错误排查

Windows Cmd下curl调用ChatGPT API错误排查

以下是你遇到的JSON解析错误、URL格式错误、请求内容不完整问题的常见原因及解决办法:

1. JSON参数转义规则错误

Windows Cmd不支持用单引号包裹JSON字符串,且对双引号的转义规则与Linux Shell不同。直接照搬官方文档的bash格式命令会导致Cmd将JSON中的双引号解析为参数分隔符,截断请求内容,触发JSON解析错误。

正确写法:
将JSON内部的双引号用反斜杠转义,同时用双引号包裹整个-d参数:

curl https://api.openai.com/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d "{\"model\":\"gpt-3.5-turbo\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}]}"

或者将内部双引号替换为两个连续双引号:

curl https://api.openai.com/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" -d "{""model"":""gpt-3.5-turbo"",""messages"":[{""role"":""user"",""content"":""Hello!""]}"

2. 命令换行未做续行处理

如果命令拆分成多行输入,Cmd默认会将每行视为独立命令,导致curl无法接收完整的请求参数,触发URL格式错误或请求内容不完整。

正确写法:
在每行末尾添加^作为续行符(注意^后面不能有空格或换行):

curl https://api.openai.com/v1/chat/completions ^
-H "Content-Type: application/json" ^
-H "Authorization: Bearer YOUR_API_KEY" ^
-d "{\"model\":\"gpt-3.5-turbo\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}]}"

3. 旧版本curl兼容性问题

Windows自带的curl版本可能较老旧,对某些参数格式的支持存在bug,导致请求封装不完整。

解决办法:

  • 升级curl到最新稳定版本,替换系统自带的curl;
  • 改用PowerShell执行命令,其转义规则更接近Shell,无需复杂转义:
Invoke-RestMethod -Uri https://api.openai.com/v1/chat/completions -Method Post -Headers @{"Content-Type"="application/json";"Authorization"="Bearer YOUR_API_KEY"} -Body '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Hello!"}]}'

4. 请求头格式错误

若Authorization头格式有误(比如Bearer后缺少空格、API_KEY输入错误),API返回的错误信息可能被误判为JSON解析错误,同时可能伴随URL格式错误提示。

检查要点:

  • 确保Authorization: Bearer YOUR_API_KEY中Bearer与API_KEY之间有且仅有一个空格;
  • 验证API_KEY是否正确,无多余空格或字符。

内容的提问来源于stack exchange,提问作者l yu moon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 00:42:52