gpt4 book ai didi

CURL HTTP2 请求

转载 作者:行者123 更新时间:2023-12-04 01:39:24 27 4
gpt4 key购买 nike

我想知道是否有人成功地使用 CURL 通过新的 APNS API (HTTP2) 发送了推送通知。

APNs Provider API page 上给出了一个示例请求

这是请求必须是这样的:

标题

\- END_STREAM

\+ END_HEADERS

:method = POST

:scheme = https

:path = /3/device/00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0

host = api.development.push.apple.com

apns-id = eabeae54-14a8-11e5-b60b-1697f925ec7b

apns-expiration = 0

apns-priority = 10

content-length = 33

数据
\+ END_STREAM

{ "aps" : { "alert" : "Hello" } }

但是使用以下命令我得到错误“curl:(16) HTTP/2 流 1 没有完全关闭:error_code = 8”:
curl \

--verbose \

--http2 \

--cert <APPLICATION_CERT_FILE> \

--key <APPLICATION_KEY_FILE> \

--header "Content-Type: application/json" \

--header ":method: POST" \

--header ":path: /3/device/<DEVICE ID>" \

--data '{ "aps" : { "alert" : "Hello" } }' \

https://api.development.push.apple.com

有小费吗?

最佳答案

我已成功使用以下方法从 cURL 发送推送通知:

curl -v -d '{"aps":{"alert":"Test Push","sound":"default"}}' \
--cert /path/to/cert/cert.pem:SECURE_PASSWORD \
-H "apns-topic: com.app.identifier" --http2 \
https://api.development.push.apple.com/3/device/DEVICE_ID

这是使用 curl版本 7.48.0 , 安装者 homebrew :
$ curl --version
curl 7.48.0 (x86_64-apple-darwin15.4.0) libcurl/7.48.0 OpenSSL/1.0.2g zlib/1.2.5 nghttp2/1.9.1
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets

但是请注意,在生产服务器上使用我们的开发证书时,我遇到了与您相同的错误: https://api.push.apple.com/

curl: (16) HTTP/2 stream 1 was not closed cleanly: error_code = 8

关于CURL HTTP2 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35603331/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com