0

我需要通过代理连接到 Apple PNS。我正在使用 PHP 来开发应用程序。目前,我用谷歌搜索了很多,但在任何地方都找不到将代理与流上下文一起使用的示例。也做了这里提到的步骤: Using Charles and SSL Apple push address

下面是代码片段。任何人请建议,它非常紧急

if(PROXY_ADDRESS != '' && PROXY_PORT !='')
{       
$opts = array('http' => array('proxy' => 'tcp://'.PROXY_ADDRESS.':'.PROXY_PORT, 'request_fulluri' => true));
$streamContext = stream_context_create($opts);
}
else
{
$streamContext = stream_context_create();
}

stream_context_set_option($streamContext, 'ssl', 'local_cert', $this->_privateKey);

if($this->_privateKeyPassphrase !== '')
  stream_context_set_option($streamContext, 'ssl', 'passphrase', $this->_privateKeyPassphrase);

$fp = fopen('https://gateway.sandbox.push.apple.com:2195', 'r', false, $streamContext);

我没有收到任何错误/异常,但没有收到推送消息。

4

1 回答 1

0

对于那些可能遇到同样问题的人:

Apple PNS 不允许通过代理服务器进行连接。它只接受直接连接。当我建立直接连接而不是通过代理时,我的问题得到了解决。

于 2013-04-03T11:19:55.450 回答