все
Я столкнулся с проблемой с 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()
После того, как я выполнил код, и я получил ошибку ниже.
Каждый раз, когда я пытался использовать PyAPN на GitHub или APNWrapper в Google
Я обнаружил, что ошибка наконец-то.
Итак, я решил реализовать самостоятельно.
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
Может ли кто-нибудь помочь мне разобраться в этой ошибке или дать мне несколько возможных указаний
закончить эту функцию?