1

ソケットを開いて証明書付きのペイロードを送信する必要があるチュートリアルに従っています: 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);

過去に py​​thon-requests を使用しました。ただし、単純な get リクエストのみ。

上記のコードを Python で書き直すために python-requests を使用できますか、それともこのタスクにより適したものがありますか?

4

1 に答える 1

0

stream_context_create の PHP ドキュメントと、あなたがフォローしているチュートリアルを見ると、達成しようとしているのは、gatway.sandbox.push.apple.com への SSL セキュア ソケット接続を開くことだと思います。

あなたが見たいpythonモジュールはsslモジュールだと思います。クライアントからサーバーに接続するssl.wrap_socket()があります。おそらく、作成して登録した証明書に keyfile および certfile オプションを設定して、Apple サーバーと通信します。

于 2012-08-10T15:38:47.783 に答える