国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程式 微信開發(fā) 微信介面開發(fā)的詳細介紹

微信介面開發(fā)的詳細介紹

Mar 24, 2017 pm 02:12 PM

創(chuàng)建過程就需要做簽名校驗,描述如下:

?

公眾平臺用戶提交資訊後,我們將以GET請求方式請求到填寫的Url上,並且?guī)纤膫€參數(shù):

* signature — 微信加密簽章

* timestamp — 時間戳

* nonce — 隨機數(shù)字

* echostr — 隨機字串

開發(fā)者透過檢驗signature對網(wǎng)址存取合法性進行校驗。若此次GET請求原樣返回echostr參數(shù)內(nèi)容,則接入生效,否則接入失敗。驗證signature將結(jié)合開發(fā)者填寫的token參數(shù)、timestamp參數(shù)和nonce參數(shù)等,加密流程:

* 將token、timestamp、nonce三個參數(shù)進行字典序排序

* 將三個參數(shù)字串拼接成一個字串進行SHA1加密

* 開發(fā)者取得加密後的字串可與signature對比,標識該請求來自微信。

程式碼:

<?  
        $signature = $_GET[&#39;signature&#39;];  
        $timestamp = $_GET[&#39;timestamp&#39;];  
        $nonce = $_GET[&#39;nonce&#39;];      
                  
        $token = TOKEN;  
        $tmpArr = array($token, $timestamp, $nonce);  
        sort($tmpArr);  
        $tmpStr = implode( $tmpArr );  
        $tmpStr = sha1( $tmpStr );  
          
        if( $tmpStr == $signature ){  
            return $_GET[&#39;echostr&#39;];  
        }else{  
            return false;  
        }  
?>

然而,微信不走json途徑傳遞資料:

?

所以要用simplexml_load_string裝XML資料為物件,另外發(fā)現(xiàn)POST方法不是urlencode,所以設定HTTP_RAW_POST_DATA,然後可以讀取資料.

ToUserName 訊息接收方微訊號,一般為公眾平臺帳號微訊號

FromUserName 訊息傳送方微訊號

CreateTime 訊息建立時間

MsgType 文字訊息為text

Content 訊息內(nèi)容

<?php  
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //符合微信的POST規(guī)范  
if (!emptyempty($postStr))  
{  
 
    $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA); //XML轉(zhuǎn)對象函數(shù),可能最近這一兩年入行的不太清楚XML函數(shù)  
      
    //數(shù)據(jù)從對象取出  
    $fromUsername = $postObj->FromUserName;   
    $toUsername = $postObj->ToUserName;  
    $CreateTime = $postObj->CreateTime;  
    $MsgType = $postObj->MsgType;  
    $Content = $postObj->Content;  
 
    $keyword = trim($postObj->Content); //安全Trim  
    $time = time();  
    //XML數(shù)據(jù)體  
    $textTpl = "<xml>   
               <ToUserName><![CDATA[%s]]></ToUserName>  
               <FromUserName><![CDATA[%s]]></FromUserName>  
               <CreateTime>%s</CreateTime>  
               <MsgType><![CDATA[%s]]></MsgType>  
               <Content><![CDATA[%s]]></Content>  
               <FuncFlag>0</FuncFlag>  
               </xml>";  
    if(!emptyempty( $keyword )) //如果發(fā)信息來了,不是空白POST,微信規(guī)定立即回復,不用推送.  
    {  
        $msgType = "text"; //定義類型  
        $contentStr = "Hello World,I am Tater!"; //回復  
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); //記住,Tpl是要載入的  
        echo $resultStr; //輸出,以便微信抓!  
    }  
    else 
    {  
        echo "What are you say!"; //輸入信息有問題,提示輸入!  
    }  
 
}  
else 
{  
    echo "";  
    exit;  
}  
 
 
?>

以上是微信介面開發(fā)的詳細介紹的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276