亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

驗證成功,但關注后無法收到回復消息!

要崩潰了,折騰了一天,還是不能關注回復成功,但是驗證是成功的。xml 模板中也將所有的空格刪除了!以下是完整代碼,哪位大神看一下哪里出問題了,謝謝!

????public?function?api()
????{
????????//?獲得驗證參數
????????$nonce??????=?$_GET[?'nonce'?];
????????$timestamp??=?$_GET[?'timestamp'?];
????????$token??????=?'wechat';
????????$echostr????=?$_GET[?'echostr'?];
????????$signature??=?$_GET[?'signature'?];
????????
????????//?形成數組并按字典排序
????????$array??????=?array();
????????$array??????=?array(?$nonce,?$timestamp,?$token?);
????????sort(?$array?);
????????//?拼接字符串并?sha1?加密,然后校驗
????????$str?=?sha1(?implode(?$array?)?);
????????if?(?$str?==?$signature??&&?$echostr?)?{
????????????echo?$echostr;
????????????exit;
????????}?else?{
????????????$this->responseMsg();
????????}
????}
????//?接受事件推送并回復
????public?function?responseMsg()
????{
????????//?獲取微信推送?post?數據(xml?格式)
????????$postArr?=?$GLOBALS["HTTP_RAW_POST_DATA"];
????????libxml_disable_entity_loader(true);
????????//?處理消息,并設置回復類型及內容
????????$postObj?=?simplexml_load_string($postArr,?'SimpleXMLElement',?LIBXML_NOCDATA);
????????//?$postObj->ToUserName?=?'';
????????//?$postObj->FromUserName?=?'';
????????//?$postObj->CreateTime?=?'';
????????//?$postObj->MsgType?=?'';
????????//?$postObj->Event?=?'';
????????//?判斷事件推送:訂閱
????????if?(?strtolower(?$postObj->MsgType??==?'event'?)?)?{
????????????if?(?strtolower?(?$postObj->Event?==?'subscribe'?)?)?{
????????????????//?設置回復消息
????????????????$toUser?????=?$postObj->FromUserName;
????????????????$fromUser???=?$postObj->ToUserName;
????????????????$sendTime?????=?time();
????????????????$msgType????????=?'text';
????????????????$content????????=?'hahahahahahah';
????????????????$template???????=?'<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content></xml>';
????????????????$msg?=?sprintf(?$template,?$toUser,?$fromUser,?$sendTime,?$msgType,?$content?);
????????????????echo?$msg;
????????????}
????????}
????}


正在回答

3 回答

另外,我用的 Laravel 框架!

0 回復 有任何疑惑可以回復我~

解決了,找到原因了,只做一次驗證就行,沒必要做兩次驗證!

2 回復 有任何疑惑可以回復我~
#1

HUIFENG09

只做一次驗證是什么意思?
2018-12-02 回復 有任何疑惑可以回復我~
#2

qq_涵養_0

就是這個原因,第一次做了驗證之后,就把驗證的代碼注釋掉,就行了
2019-05-03 回復 有任何疑惑可以回復我~
$postArr?=?$GLOBALS["HTTP_RAW_POST_DATA"];

改為:

$postArr?=?file_get_contents('php://input');

也沒回復!


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

驗證成功,但關注后無法收到回復消息!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號