我正在尝试使用Postman在我的iOS应用程序中创建和测试Apple Notifications。
由于我没有得到的原因,我从邮递员发送到https://api.push.apple.com/3/device/<token-device>
或openssl pkcs12 -in apns.p12 -out apns.crt.pem -clcerts -nokeys
openssl pkcs12 -in apns.p12 -out apns.key.pem -nocerts -nodes
的请求失败而没有得到任何HTTP响应。
到目前为止我做了什么:
1 - 从我的developer.apple.com帐户创建并导出了APNS证书(如there所述)。
2 - 将此.p12证书与最新版本的openssl(1.0.2l)转换为.pem证书和密钥,如下所示:
apns-topic
3 - 配置邮递员(首选项&gt;证书)以将这些.pem文件用于提供者API网址(dev和prod)
4 - 为我的设备令牌的那些Provider API端点设置一个POST请求,其中{
"aps" : {
"alert" : {
"title" : "Game Request",
"body" : "Bob wants to play poker"
}
}
}
标头包含我的bundle id for value,以及一个HTTP主体,如下所示:
openssl s_client -connect api.development.push.apple.com:443 -cert apns.pem -debug -showcerts -CAfile GeoTrust_Global_CA.pem
失败了,“无法得到任何回应,blablabla”。
如果我检查Postman控制台发生了什么,我看到了:
POST https://api.development.push.apple.com/3/device/12340e529f85a145b567736e7fd84c9d7e42a43a3c343ec378c2ff071011e4 06:18:08.236
错误:解析错误
客户证书:
的keyPath: “/用户/托马斯/ wksp_myproj / apns.key.pem”
pemPath: “/用户/托马斯/ wksp_myproj / apns.crt.pem”
请求标题:
缓存控制: “无缓存”
邮差令牌: “99615df2-b2aa-4a51-8d15-8ce27f4e8ca9”
内容类型: “应用/ JSON”
APNS-主题: “myproj.app”
此外,当我按照there解释时使用openssl进行测试时:
HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: 0aread from 0x7f9445c215c0 [0x7f9446015c03] (5 bytes => 0 (0x0))
read:errno=0
最后我得到了很多输出:
div
出了什么问题?
答案 0 :(得分:0)
好的,忘了Postman,我结束了使用curl和http2以及openssl(1.0.2l)的更新版本,它的工作正常。对于那些想要查看curl命令示例的人来说,它是here。