我是靠谱客的博主 甜甜灰狼,最近开发中收集的这篇文章主要介绍python配置苹果推送服务器pyapns,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里总结下配置苹果推送服务器的过程:

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放入你的项目中.

image.png

 

 

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

apn_dev_cert_path = os.path.join(BASE_DIR, 'conf/apn/dev-cert.pem')

apn_dev_key_path = os.path.join(BASE_DIR, 'conf/apn/dev-key-noec.pem')

 

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部