国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

微信開發Token驗證失敗或請求URL超時問題解決辦法

2024-05-04 21:50:00
字體:
來源:轉載
供稿:網友

微信開發最近要用到的一個功能,其實就是一個非常的簡單的用戶輸入然后自動搜索數據庫并進行一個數據回復了,這個與官方沒多大的問題,但小編就微信Token驗證失敗折騰了許多,下面解決了給各位分析一下.

1.Token驗證失敗

這個就是要檢查配置文件了,最基本的就是

define("TOKEN", "weixin");  weixin 是你的微信開發后臺的ID

微信開發Token驗證失敗或請求URL超時問題解決辦法

2.請求URL超時

這個沒什么辦法多提交幾次了,這個還有就是服務器安裝了安全狗之類的軟件把微信IP給攔截了,可以檢查一下。

3.官方下載一個wechatCallbackapiTest類然后進行一下操作即可,代碼如下:

  1. define("TOKEN""weixin"); 
  2. $wechatObj = new wechatCallbackapiTest(); 
  3. if (isset($_GET['echostr'])) { 
  4.     $wechatObj->valid(); 
  5. }else
  6.     $wechatObj->responseMsg(); 

wechatCallbackapiTest類就代碼如下:

  1. class wechatCallbackapiTest 
  2.     public function valid() 
  3.     { 
  4.         $echoStr = $_GET["echostr"]; 
  5.         if($this->checkSignature()){ 
  6.             echo $echoStr
  7.             exit
  8.         } 
  9.     } 
  10.     private function checkSignature() 
  11.     { 
  12.         $signature = $_GET["signature"]; 
  13.         $timestamp = $_GET["timestamp"]; 
  14.         $nonce = $_GET["nonce"]; 
  15.         $token = TOKEN; 
  16.         $tmpArr = array($token$timestamp$nonce); 
  17.         sort($tmpArr); 
  18.         $tmpStr = implode( $tmpArr ); 
  19.         $tmpStr = sha1( $tmpStr ); 
  20.         if$tmpStr == $signature ){ 
  21.             return true; 
  22.         }else
  23.             return false; 
  24.         } 
  25.     } 
  26.     public function responseMsg() 
  27.     { 
  28.         $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  29.         if (!emptyempty($postStr)){ 
  30.             $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  31.             $fromUsername = $postObj->FromUserName; 
  32.             $toUsername = $postObj->ToUserName; 
  33.             $keyword = trim($postObj->Content); 
  34.             $time = time(); 
  35.             $textTpl = "<xml> 
  36.                         <ToUserName><![CDATA[%s]]></ToUserName> 
  37.                         <FromUserName><![CDATA[%s]]></FromUserName> 
  38.                         <CreateTime>%s</CreateTime> 
  39.                         <MsgType><![CDATA[%s]]></MsgType> 
  40.                         <Content><![CDATA[%s]]></Content> 
  41.                         <FuncFlag>0</FuncFlag> 
  42.                         </xml>"; 
  43.             if($keyword != " " || !emptyempty$keyword ) ) 
  44.             { 
  45.     msgType = "text"
  46.     //$contentStr .= date("Y-m-d H:i:s",time()); 
  47.     $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); //Vevb.com 
  48.     echo $resultStr
  49.             } 
  50.         }else
  51.             echo ""
  52.             exit
  53.         } 
  54.     } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江口县| 大邑县| 正定县| 四会市| 东平县| 安平县| 都兰县| 陕西省| 壶关县| 边坝县| 比如县| 古浪县| 嵊州市| 当雄县| 乌兰察布市| 高唐县| 峨边| 定陶县| 平顺县| 衡阳县| 洛隆县| 曲松县| 太原市| 永和县| 安丘市| 永顺县| 通道| 邵阳市| 游戏| 行唐县| 崇义县| 松潘县| 米易县| 盈江县| 营口市| 长沙县| 邵阳县| 富蕴县| 巴彦淖尔市| 志丹县| 德令哈市|