概述
这里总结下配置苹果推送服务器的过程:
1. 安装apn
这里千万不要用pip安装
pip install apns
错误如下:pypi 自动安装的包有问题,import的时候就会报错。
Python 3.6.2 (v3.6.2:5fd33b5, Jul
8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from apns import APNs, Frame, Payload
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "F:projectsvirtualenvzhaotalibsite-packagesapns.py", line 218
except ssl.SSLError, err:
解决方法:
从github上下载源码: PyAPNs https://github.com/djacobs/PyAPNs
然后将解压文件夹中的apns.py放入你的项目中.
2. 接下来就可以使用了.
from utils.apns import APNs, Frame, Payload
from project.settings import apn_dev_cert_path,apn_dev_key_path
apn=APNs(use_sandbox=True, cert_file=apn_dev_cert_path, key_file=apn_dev_key_path)
3. 从上面使用可以看出,这里需要两个文件,一个是cert_file, 一个是key_file
这两个是从一个叫**.p12的文件产生,如何获取P12文件,可以参考这里。
主要用到下面3个命令:
openssl pkcs12 -clcerts -nokeys -out dev-cert.pem -in dev.p12
openssl pkcs12 -nocerts -out dev-key.pem -in dev.p12
openssl rsa -in dev-key.pem -out dev-key-noec.pem
setting.py中:
1 2 |
|
4. Test.py
apn=APNs(use_sandbox=True, cert_file=apn_dev_cert_path, key_file=apn_dev_key_path)
class APNpushManager():
def __init__(self):
self.apn=apn
def sendWakeup(self,datas):
token_hex=datas.get('token_hex')
noti_msg=datas.get('noti_msg')
payload = Payload(alert=noti_msg, sound=None, badge=1, mutable_content=True,content_available=True)
self.apn.gateway_server.send_notification(token_hex, payload)
datas = {
'token_hex': "****",
'noti_msg':""
}
pusher=APNpushManager()
pusher.sendWakeup(datas)
最后
以上就是甜甜灰狼为你收集整理的python配置苹果推送服务器pyapns的全部内容,希望文章能够帮你解决python配置苹果推送服务器pyapns所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复