使用curl发送POST请求时出现‘此应用无法在你的电脑上运行’错误求助
解决批处理中curl执行报错“此应用无法在你的电脑上运行”的问题
可能原因及对应解决步骤
1. %temp%目录下的curl.exe异常
Windows更新可能清理了临时目录文件,或修改了临时目录权限,导致%temp%\curl.exe无法正常运行:
- 按Win+R输入
%temp%回车打开临时目录,检查curl.exe是否存在。若不存在,重新下载与系统位数匹配的官方Windows版curl,将其放到固定目录(比如C:\curl)——临时目录易被系统清理、权限受限,不适合存放可执行文件。 - 修改批处理中的curl路径,将
%temp%\curl.exe替换为新路径,比如C:\curl\curl.exe。
2. 未签名的curl.exe被系统安全机制拦截
Windows更新后,系统对未签名可执行文件的限制可能加强:
- 确保下载的curl是官方签名版本(curl官方渠道提供的Windows安装包通常带有数字签名)。
- 检查Windows Defender或第三方杀毒软件的隔离区,确认curl.exe是否被误判隔离,若有则恢复并添加信任。
3. 批处理语法转义问题(系统解析规则变化触发)
原批处理中JSON数据的引号转义不符合Windows批处理规范,虽之前正常,但系统更新后解析规则可能更严格:
Windows批处理需用^转义双引号,而非\。修正后的发送命令如下:
:: The sending C:\curl\curl.exe --silent -X POST -H "Content-type: application/json" --insecure --data "{^"content^": ^"AUTH ID FOR %USERNAME%\n```asciidoc\nAUTH ID: %auth%\n\n```\n^"}" %webhook% 2>nul
验证步骤
- 先手动在命令行执行curl命令,测试是否能正常发送请求,排除批处理语法问题。
- 确保
%webhook%变量已填写正确的Discord Webhook链接。
内容的提问来源于stack exchange,提问作者Gonçalo Ferreira
相关产品推荐
相关产品推荐

