使用 Python 向 Apple 通知服务发送消息
Posted
技术标签:
【中文标题】使用 Python 向 Apple 通知服务发送消息【英文标题】:Send Apple Notification Service A Message With Python 【发布时间】:2013-05-08 06:27:38 【问题描述】:我正在关注以下 pyAPNS 库提供的文档: https://github.com/djacobs/PyAPNs
apns = APNs(use_sandbox=True, cert_file='ThePushCertificate.pem', key_file='ThePushKey.pem')
payload = Payload(alert="Checking if it works", sound="default", badge=1)
apns.gateway_server.send_notification(some_string, payload)
我收到以下错误:
SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
此错误发生在上面显示的最后一行代码。
这个错误是什么意思?我该如何解决这个问题?
PS。我已经坚持了几个小时了。我在这里找到了 1 个类似的问题,但答案并没有真正帮助我(就我的情况而言)。我将继续尝试找出问题所在,我只是觉得如果我在这里获得更高级的 ios / Python 开发人员的帮助可能会有所帮助。谢谢!
在尝试让它工作一天之后,我遇到了一个新错误:
SSL_CTX_use_PrivateKey_file:PEM lib
我还多次阅读了下面答案中建议的教程,但不幸的是,这并没有帮助。在本教程中,使用了一个新的组合 PEM 文件,但是在 repo 的文档中,没有使用该文件,有人知道我应该如何使用该文件吗?
【问题讨论】:
【参考方案1】:我的问题的解决方案是我使用了私钥的密码。
由于 Keychain Access 明确要求输入密码,我认为这是必要的。 不是。
当我将密码留空时一切正常。
【讨论】:
【参考方案2】:试试https://github.com/simonwhitaker/PyAPNs。确保您已正确配置证书。
参考Raywenderlich
【讨论】:
是的,我使用 Ray Wenderlich 的文章进行设置,链接是我使用的 GitHub 存储库的分支。我会尝试重新配置证书,希望这次能成功。 @GangstaGraham 上面提供的链接是我关注的链接,2-3 周前刚刚实施了 APNS,如果我记得我有这个问题是因为证书配置错误。 不幸的是,我一遍又一遍地阅读教程,我正在使用这个 repo,但我仍然收到错误,但这次不同, SSL_CTX_use_PrivateKey_file:PEM lib ,也在教程,我们将两个 PEM 文件合并为 1 个文件,但是在 repo 中,我们没有使用合并文件,您使用合并文件吗?非常感谢您的帮助。 你有APNS开发证还是生产证? 伟大的从来没有遇到过这个问题。无论如何,你找到了解决方案。我曾经提供密码并使用了对我有用的openssl pkcs12 -nocerts -out AppKey_pro.pem -in app.p12 -nodes
。以上是关于使用 Python 向 Apple 通知服务发送消息的主要内容,如果未能解决你的问题,请参考以下文章