ソケットを開いて証明書付きのペイロードを送信する必要があるチュートリアルに従っています: http://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/ .
Pythonで次のことを行う方法を理解するのに少し苦労しています:
// Open the connection
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);
// Send the payload
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
// Close Resources
socket_close($apns);
fclose($apns);
過去に python-requests を使用しました。ただし、単純な get リクエストのみ。
上記のコードを Python で書き直すために python-requests を使用できますか、それともこのタスクにより適したものがありますか?