7

APNS (Apple Push Notification Service) に取り組んでいます。チュートリアルが言ったように私はそれをやっています:

$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

$fp = stream_socket_client(
    'ssl://gateway.sandbox.push.apple.com:2195', $err,
    $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

しかし、私のサーバーでは、HTTP プロキシ経由でインターネットに接続する必要があるため、これらのコードで常にタイムアウト エラーが発生しました。ssl プロトコルを使用して strem_socket_client の HTTP プロキシを設定するにはどうすればよいですか?

4

1 に答える 1

8

最良の方法は、次のようにproxyオプションを設定することstream_context_createです:

$ctx = stream_context_create(array(
        'http' => array(
            'proxy' => 'tcp://127.0.0.1:8888',
            )
        )
       );

完全な http オプションについては、http ://php.net/manual/en/context.http.phpを参照してください。たぶんrequest_fulluri、trueに設定する必要があります。

于 2012-11-29T23:05:20.600 に答える