모두,Apple Push Notification Service with Python
아래 코드를 사용했을 때 APN에 관한 문제를 만났습니다. 내가 코드를 실행 한 후이 서비스를
import socket, ssl, json, struct import binascii
deviceToken = 'XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX'
thePayLoad = {
'aps': {
'alert':'Hello world',
'sound':'default',
'badge':42,
},
'test_data': { 'foo': 'bar' },
}
theCertfile = 'iphone_ck.pem'
theHost = ('gateway.sandbox.push.apple.com', 2195)
data = json.dumps(thePayLoad)
deviceToken = deviceToken.replace(' ','')
byteToken = binascii.unhexlify(deviceToken)
theFormat = '!BH32sH%ds' % len(data) theNotification = struct.pack(theFormat, 0, 32,
byteToken, len(data), data)
ssl_sock = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM), certfile = theCertfile)
ssl_sock.connect(theHost)
ssl_sock.write(theNotification)
ssl_sock.close()
을 달성하기 위해 소스 코드의 많은 종류를 발견, 나는 아래의 오류가 발생했습니다. Google에서 GitHub 또는 APNWrapper에서 PyAPN을 사용하려고 할 때마다 오류가 발생했습니다. 그래서 저는 혼자서 구현하기로 결정했습니다.
Traceback (most recent call last):
File "testAPN.py", line 38, in <module>
ssl_sock.connect(theHost)
File "/usr/lib/python2.6/ssl.py", line 309, in connect
self.do_handshake()
File "/usr/lib/python2.6/ssl.py", line 293, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [Errno 1] _ssl.c:480: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3
alert handshake failure
사람이 오류를 파악하거나 마무리에 몇 가지 가능한 방향을 나에게이 기능을 제공하는 데 도움이 있을까요?
와 함께 싸울 필요가 없습니다가, PyAPNS 나를 위해 잘 작동합니다. – vartec
필자는 pem 파일을 얻는데 실수를했기 때문에이 문제를 해결했습니다. – vrootic