告诉我如何在CURL php上通过推送的方式发送消息?这个承诺不起作用:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://gateway.push.apple.com:2195');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSLCERT,'1.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, "12345");
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"device_tokens": ["........................................."], "aps": {"alert": "test message one!"}}');
$curl_scraped_page = curl_exec($ch);
echo $curl_scraped_page;
你不能用CURL发送Apple推送通知。
你正在尝试用HTTPS请求向Apple发送推送通知。这是行不通的,因为苹果推送通知不支持HTTP。它们只能在TCP协议上使用特定的二进制格式。
作为提供商,您通过二进制接口与Apple推送通知服务通信。该接口为提供商提供高速、高容量接口;它将流TCP套接字设计与二进制内容结合使用。二进制接口是异步的
代替CURL,您可以使用stream_context
。您可以找到许多代码示例。