ios push(python编程)
来源:互联网 发布:it审计 编辑:程序博客网 时间:2024/05/16 01:13
原理参考:http://blog.csdn.net/bytxl/article/details/16982083
上代码:
import socket, ssl, pprint, binasciimaxPayloadLength = 256deviceTokenLength = 32def normal_payload(soundValue, badgeValue, alertstr): """ Build all notifications items to one string. """ keys = [] apsKeys = [] if soundValue: apsKeys.append('"sound":"%s"' % soundValue) if badgeValue: apsKeys.append('"badge":%d' % int(badgeValue)) if alertstr != None: alertArgument = "" if isinstance(alertstr, str): alertArgument = alertstr apsKeys.append('"alert":"%s"' % alertArgument) else: print "alertstr is not str" return keys.append('"aps":{%s}' % ",".join(apsKeys)) payload = "{%s}" % ",".join(keys) if len(payload) > maxPayloadLength: raise APNSPayloadLengthError, "Length of Payload more than %d bytes." % maxPayloadLength return payloaddef Hex2Bin(hexToken): """ Add deviceToken as a hexToken Strips out whitespace and <> """ hexToken = hexToken.strip().strip('<>').replace(' ','').replace('-', '') deviceTokenBin = binascii.unhexlify(hexToken) return deviceTokenBindef main(): clientsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print( "socket create success" ) ssl_sock = ssl.wrap_socket( clientsock, keyfile = "aps_development_unencrypted.key", certfile = "aps_development.pem" ) ssl_sock.connect(('gateway.sandbox.push.apple.com', 2195)) print( "socket connect success" ) pprint.pprint(ssl_sock.getpeercert()) # create push package payload = normal_payload( "default", 1, "python ios push test" ) payloadLength = len(payload) deviceToken = "ee03ee86 c6c57219 d167d06f 1fae87b0 9e857a2d 635ffacc 71046f4e 1974594f" deviceTokenBin = Hex2Bin( deviceToken ) msg = chr(0) + chr(0) + chr(32) + deviceTokenBin + chr(0) + chr(payloadLength) + payload ssl_sock.send( msg ) print "msg send: %s" % repr( msg ) ssl_sock.close() main()
0 0
- ios push(python编程)
- python 发送 iOS APNS push 消息
- IOS push
- IOS push
- iOS push
- iOS push
- ios--push
- iOS push notification
- ios push机制
- ios的push实现
- ios push notification
- ios push pem 生成
- IOS push服务
- iOS 推送详解 push
- easyapns php ios push
- iOS push的问题
- iOS Push通知资料.
- iOS push原理浅析
- 华为OJ 一个精度问题
- android笔记 - 网络状态判断
- java C++对word的格式转换
- poj 1258 prim
- 大型网站技术架构
- ios push(python编程)
- daliu_IT学习Android笔记第六篇--JDK安装与环境变量配置
- Unite2--problem1 结构体计成绩总均
- 在线学习诱惑大!!
- uva12538 Version Controlled IDE(可持续化Treap * 模板, STL ext/rope(块状链表))
- ARM汇编指令-STMFD和LDMFD
- mysql 检索数据库中包含某几个字段的表 & 检索表名称包含某些字符的表
- Ganymed SSH-2 for Java系列11之SCPClient
- NodeJS + MongoDB + Express 搭建步骤