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

执行curl发送APNS推送报错Could not resolve host如何修复

问题原因

你遇到的错误由curl命令的参数格式错误直接导致:

  • --header参数的键值对没有用引号包裹,shell会把空格作为参数分隔符,将apns-topic:后的com.domainname.appname、apns-push-type:后的alert识别为独立的请求地址,因此出现「Could not resolve host」报错。
  • 两个必要的请求头apns-topic、apns-push-type没有被正确发送到APNS服务器,最终服务器返回MissingTopic错误。
修复方法
  1. 所有--header后面的键值对统一用双引号包裹,确保shell识别为完整的header参数
  2. 直接复用你已经定义好的Shell变量,避免手动输入写错App包名、设备令牌、APNS地址等信息
  3. 确认命令中使用的设备令牌和你实际测试设备的令牌一致

修复后的完整命令如下:

curl -v \
--header "apns-topic: $TOPIC" \
--header "apns-push-type: alert" \
--cert "$CERTIFICATE_FILE_NAME" \
--cert-type DER \
--key PushChatKey.pem \
--key-type PEM \
--data '{"aps":{"alert":"test"}}' \
--http2 "https://$APNS_HOST_NAME/3/device/$DEVICE_TOKEN"

如果你不想每次运行都手动输入PEM密钥的密码,可以将--key PushChatKey.pem修改为--key PushChatKey.pem:你的密钥密码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:54:03