python使用pyapns进行ios推送消息
pip install pyapns 或者使用 easy_install pyapns
启动twisted
#linux
twistd -r epoll web --class=pyapns.server.APNSServer --port= #mac os
twistd -r kqueue web --class=pyapns.server.APNSServer --port=
新建push.py文件输入下面内容
#!/usr/bin/python
# -*- coding: utf-8 -*
# Filename: push.py from pyapns import configure, provision, notify tokens = ["token1" ,
"token2"] notifications = [
{'aps' :{'alert': 'Hello token 1', 'badge': 0, 'sound': 'flynn.caf'}},
] configure({'HOST': 'http://localhost:7077/'})
provision('myapp', open('developent.pem').read(), 'sandbox')
notify('myapp', tokens, notifications)
pyapns推送消息需要一个pem格式的证书文件,跟Parse里要求一个.p12文件不同啊。我看看怎么搞到这文件。从苹果下载的证书是.cer格式的,在苹果的KeyChain程序中,选择导出,可是,只能选择导出成.cer和.p12文件,.pem的选项被禁用了,好桑心。通过搜索export pem from keychain找到Creating .pem file for APNS?,简单说,就是在KeyChain里导出.p12格式的,再通过下面的命令转换成.pem的。搞定。
openssl pkcs12 -in Development.p12 -out developent.pem -nodes -clcerts
python push.py
推送成功
完成
python使用pyapns进行ios推送消息的更多相关文章
- IOS 推送消息 php做推送服务端
IOS推送消息是许多IOS应用都具备的功能,最近也在研究这个功能,参考了很多资料终于搞定了,下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPh ...
- 利用pyapns进行ios推送
ios客户端的同事提供了2个证书,分别是aps_development.cer 和 pushdevelopment.p12, 我最终目的就是把这2个证书合并成1个pem证书,然后通过pyapns进行 ...
- iOS 推送消息长度
iOS最大推送消息长度 官方要求是256个字节 实际测试为1005个字节 在iPhone6上测试 锁屏时收到消息时只显示76个汉字,剩下的被隐藏 程序进入后台时只显示47个汉字,剩下的被隐藏
- ThinkPHP 使用极光推送给ios推送消息
HTML <div id="wrap"><a href="<{:U('Push/pushData')}>">推送</a ...
- 利用ApnsPHP包向IOS推送消息
header('content-type:text/html;charset=utf-8'); require_once 'ApnsPHP/Autoload.php'; require_once 'A ...
- python 全栈开发,Day131(向app推送消息,玩具端消息推送)
先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.4.zip 注意:由于涉及到 ...
- 使用PushSharp给iOS应用推送消息
PushSharp是一个C#编写的服务端类库,用于推送消息到各种客户端,支持iOS(iPhone/iPad).Android.Windows Phone.Windows 8.Amazo.Blackbe ...
- iOS点击推送消息跳到应用指定页面
现在的推送用的越来越频繁,几乎每个应用都开始用到了.其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题.兄弟我用的是极光推送,自然是以极光推送为例 ...
- IOS中程序如何进行推送消息(本地推送,远程推送)
[1]-------------什么是推送消息? 我就以一张图解释------------ [2]-----------IOS程序中如何进行本地推送?----------- 2.1,先征求用户同意 1 ...
随机推荐
- 记录:Ubuntu下配置java
使用的Ubuntu版本为:Ubunyu Kylin 14.04 >>下载JDK 网页链接:http://www.oracle.com/technetwork/java/javase/dow ...
- SUSE Linux实现局域网时间同步
0.前言 需求是这么来的,搭建了Storm集群进行协同过滤算法的计算性能测试,要求精度在毫秒(ms)级别.局域网内40个虚拟机节点,用 date 命令,精度上和效率上都不可行.所以,就搭建了 ...
- CSS3之设计动态立体盒子
CSS3设计3D效果图 使用到CSS3中的变形.缩放.倾斜. 只写了兼容Gecto的.发张图片鼓励自己 <!DOCTYPE html> <html> <head> ...
- hdu1864 最大报销额(01背包)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 Problem ...
- Spark1.0 安装
1.下载Scala wget http://www.scala-lang.org/files/archive/scala-2.10.3.tgz tar xvzf scala-2.10.3.tgz - ...
- php的ob_flush和flush(转)
php.ini中 output_buffering = off 关闭php的缓存 implicit_flush = Off php不会立即输出到浏览器.如果是ON,相当于每次ECHO 立刻执行一个FL ...
- android Fragments详解六:处理fragement的生命周期
把条目添加到动作栏 你的fragment们可以向activity的菜单(按Manu键时出现的东西)添加项,同时也可向动作栏(界面中顶部的那个区域)添加条目,这都需通过实现方法onCreateOptio ...
- mybatis0201 01复习
mybatis是什么? mybatis是一个持久层框架,是apache下的开源项目,前身是itbatis,是一个不完全的ORM框架(因为mybatis提供输入和输出的映射,需要程序员自己写sql语句) ...
- java List排序方法 Comparator和Comparable
今天写的一个程序中需要对一个List进行排序,突然发现自己对这个问题一无所知,于是查阅资料并进行测试,在此做个记录. Collections工具类中有两个方法可以对List进行排序,分别为: publ ...
- 使用SBT构建Scala项目
既然决定要在Scala上下功夫,那就要下的彻底.我们入乡随俗,学一下SBT.sbt使用ivy作为库管理工具.ivy默认把library repository建在user home下面. 安装SBT 在 ...