亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

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

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

Mar 24, 2017 pm 02:12 PM

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

?

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

* signature — 微信加密簽章

* timestamp — 時(shí)間戳

* nonce — 隨機(jī)數(shù)字

* echostr — 隨機(jī)字串

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

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

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

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

程式碼:

<?  
        $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,所以設(shè)定HTTP_RAW_POST_DATA,然後可以讀取資料.

ToUserName 訊息接收方微訊號(hào),一般為公眾平臺(tái)帳號(hào)微訊號(hào)

FromUserName 訊息傳送方微訊號(hào)

CreateTime 訊息建立時(shí)間

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ī)定立即回復(fù),不用推送.  
    {  
        $msgType = "text"; //定義類型  
        $contentStr = "Hello World,I am Tater!"; //回復(fù)  
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); //記住,Tpl是要載入的  
        echo $resultStr; //輸出,以便微信抓!  
    }  
    else 
    {  
        echo "What are you say!"; //輸入信息有問題,提示輸入!  
    }  
 
}  
else 
{  
    echo "";  
    exit;  
}  
 
 
?>

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72