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

ESP32联动Android应用:Pusher推送通知curl命令执行失败求助

解决Windows CMD中curl推送通知命令的执行错误

我一眼就看出问题所在了——你是在Windows的命令提示符(CMD)里执行了Unix/Linux风格的curl命令,这俩环境的语法规则差异导致了报错,具体原因和修复方案如下:

错误原因分析

  • 换行符不兼容:Unix系统用\作为命令换行续行符,但Windows CMD不认这个符号,所以你每一行的参数(比如-H、-X)都被当成了独立的命令执行,自然会提示“不是内部或外部命令”。
  • 引号规则不同:CMD里字符串必须用双引号包裹,单引号会被当作普通字符处理,而你的JSON数据用了单引号,这会导致CMD解析JSON时出错。

修复后的命令写法

方式1:写成单行命令(最简单)

把所有参数合并到一行,同时把JSON里的双引号用\转义(CMD里双引号需要转义才能被正确识别为字符串的一部分):

curl -H "Content-Type: application/json" -H "Authorization: Bearer **Secret Key**" -X POST "https://**Instance ID**.pushnotifications.pusher.com/publish_api/v1/instances/**Instance ID**/publishes" -d "{\"interests\":[\"hello\"] ,\"fcm\":{\"notification\":{\"title\":\"Hello\", \"body\":\"Hello, world!\"}}}"

方式2:用CMD的续行符换行(可读性更好)

如果想保持多行格式,CMD的续行符是^(注意^后面不能有空格,直接换行),同时同样要转义JSON里的双引号:

curl -H "Content-Type: application/json" ^
-H "Authorization: Bearer **Secret Key**" ^
-X POST "https://**Instance ID**.pushnotifications.pusher.com/publish_api/v1/instances/**Instance ID**/publishes" ^
-d "{\"interests\":[\"hello\"] ,\"fcm\":{\"notification\":{\"title\":\"Hello\", \"body\":\"Hello, world!\"}}}"

额外注意事项

  • 记得把命令里的**Secret Key**和**Instance ID**替换成你自己的实际密钥和实例ID。
  • 确认curl已经正确配置到环境变量里(你已经做了这一步,所以curl命令能被识别,没问题)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 06:57:33