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

PowerShell中curl.exe命令执行失败,请求排查JSON格式及语法问题

请提供需要按照上述Markdown格式规则处理的具体内容,我会帮你完成格式化。


如果是针对你之前提到的PowerShell调用Azure OpenAI接口报错问题,按照格式要求整理后的内容如下:

PowerShell调用Azure OpenAI接口报错排查

错误根源

PowerShell对引号的解析逻辑与其他终端不同:你用单引号包裹JSON数据时,PowerShell不会将单引号视为字符串边界,反而会把单引号内的空格当成参数分隔符,导致tell me a funny story被拆分成多个独立参数,同时JSON结构被破坏,触发无效JSON和无法解析主机的错误。

修复后的命令

方式1:转义双引号

用双引号包裹整个JSON数据,同时对JSON内部的双引号用反引号"转义:

curl.exe https://aoai-try-mc.openai.azure.com/openai/deployments/try-davinci/completions?api-version=2022-12-01 -H "Content-Type: application/json" -H "api-key: keygoeshere" -d "{`"prompt`": `"tell me a funny story`"}"

方式2:使用Here-String

通过PowerShell的Here-String定义JSON内容,避免手动转义:

$jsonBody = @"
{"prompt": "tell me a funny story"}
"@
curl.exe https://aoai-try-mc.openai.azure.com/openai/deployments/try-davinci/completions?api-version=2022-12-01 -H "Content-Type: application/json" -H "api-key: keygoeshere" -d $jsonBody

关键注意点

  • PowerShell调用外部程序(如curl.exe)时,参数解析规则特殊,单引号不会被当作字符串包裹符,空格会直接拆分参数。
  • 传递JSON必须保证其作为单个完整参数被传递,因此需要正确处理引号转义或使用Here-String。

内容的提问来源于stack exchange,提问作者Manu Chadha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:25:18