我已经设置了一个Webhook来将通知发布到我服务器上的PHP页面。 对我的服务器的通知请求是这样的: p>
POST / message / receive HTTP / 1.1
Host:http://www.yoururl.com/zipwhip/api/receive
Content-Length:581
Content-Type:application / json; charset = UTF-8
{“body”:“感谢发短信,这是一个自动回复!”,
“bodySize”:42,
“可见”:true,
“hasAttachment”:false ,
“dateRead”:null,
“bcc”:null,
“finalDestination”:“4257772300”,
“messageType”:“MO”,
“已删除”:false,
“statusCode” :4,
“id”:634151298329219072,“scheduledDate”:null,“fingerprint”:“132131532”,“messageTransport”:9,“contactId”:3382213402,“address”:“ptn:/ 4257772222”,
“read”“dateCreated”:“2015-08-19T16:53:45-07:00”,“dateDeleted”:null,
“dateDelivered”:null,
“cc”:null,
“finalSource” :“4257772222”,
}“dev
code> pre>
我尝试使用以下命令将JSON数据转换为我可以使用的字符串,但是我 到目前为止一无所获: p>
$ inputJSON = file_get_contents('php:// input');
$ input = json_decode($ inputJSON,TRUE);
code> pre>
我读过的所有内容都表明这应该有用 - 我测试了以下内容,这实际上有效: p>
$ webhookContent =“”;
$ webhook = fo pen('php:// input','rb');
while(!feof($ webhook)){
$ webhookContent。= fread($ webhook,4096);
}
fclose($ webhook );
code> pre>
我试图理解为什么file_get_contents('php:// input'); 当我读到的所有东西都表明我应该使用的功能,以及为什么fopen('php:// input','rb'); 是吗? p>
如果我做var_dump($ inputJSON)我得到: p>
string(527)“{”body“:” 感谢发短信,这是一个自动回复!“,
”bodySize“:42,
”可见“:true,
”hasAttachment“:false,
”dateRead“:null,
”bcc“: null,
“finalDestination”:“4257772300”,
“messageType”:“MO”,
“已删除”:false,
“statusCode”:4,
“id”:634151298329219072,“scheduledDate”: null,“fingerprint”:“132131532”,“messageTransport”:9,“contactId”:3382213402,“address”:“ptn:/ 4257772222”,
“read”“dateCreated”:“2015-08-19T16:53 :45-07:00“,”dateDeleted“:null,
”dateDelivered“:null,
”cc“:null,
”finalSource“:”4257772222“,
}”
code> pre>
var_dump($ input)返回NULL p>
div>