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

目錄
方法一:使用MVC
方法二:使用Web Forms
首頁 微信小程序 微信開發(fā) Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

Feb 22, 2017 pm 03:34 PM
微信公眾平臺

? ? 要對接微信公眾平臺的"開發(fā)模式",即對接到自己的網(wǎng)站程序,必須在注冊成功之后(見Senparc.Weixin.MP SDK?微信公眾平臺開發(fā)教程(一):微信公眾平臺注冊),等待官方審核,審核通過之后,會在后臺頂部出現(xiàn)“高級功能”菜單。

? ? 使用“高級功能”>“開發(fā)模式”之前,必須有一個已經(jīng)部署在Internet上,可以用80端口訪問的網(wǎng)站(域名或IP訪問都可以),一些開發(fā)的準(zhǔn)備工作見文章:Senparc.Weixin.MP SDK?微信公眾平臺開發(fā)教程(二):成為開發(fā)者

? ? 首次進(jìn)入“高級功能”后界面如下:

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

? ? 我們看到默認(rèn)情況下,“編輯模式”是開啟的,要使用“開發(fā)模式”,必須先關(guān)閉“編輯模式”。

? ? 點(diǎn)擊進(jìn)入編輯模式。如下圖:

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

? ? 點(diǎn)擊右上角的滑塊,關(guān)閉“編輯功能”。

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

? ?然后回到“高級功能”,進(jìn)入“開發(fā)模式”,如下圖:

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

? ? 進(jìn)入開發(fā)模式后,我們需要設(shè)置與微信服務(wù)器通訊的Url,以及只有我們自己知道的Token(千萬不可泄露)。

? ? 官方已經(jīng)提供了一個PHP版本的示例:http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip,你也可以根據(jù)官方API的說明用自己的語言編寫。

? ? 在Senparc.Weixin.MP的開源項目中,我們也提供了ASP.NET MVC和ASP.NET Web Forms兩種可以直接部署的Demo:https://github.com/JeffreySu/WeiXinMPSDK

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

? ? 在提交的時候,微信服務(wù)器會對填寫的URL,使用Token進(jìn)行一次Get方式請求的驗證,如果順利通過,則保存成功,如果不通過,會給出錯誤信息,并且所填寫的信息是無法保存的。

? ? 為了更加直觀地演示這個URL對應(yīng)的程序中,應(yīng)高包含哪些必要元素,我這里給出Senparc.Weixin.MP的實(shí)現(xiàn)方法(我會分別以MVC和WebForms為例):

方法一:使用MVC

? ? 1、建立一個Controller,如WeixinController.cs,引用Senparc.Weixin.MP.dll(using Senparc.Weixin.MP.dll),最新的DLL見開源項目的Senparc.Weixin.MP.BuildOutPut文件夾https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Senparc.Weixin.MP.BuildOutPut

? ? 2、設(shè)置一個私有變量(當(dāng)然你也可以保存在數(shù)據(jù)庫中),如:

        public readonly string Token = "weixin";//與微信公眾賬號后臺的Token設(shè)置保持一致,區(qū)分大小寫。

3、建立一個名稱為Index,用于Get請求的Action,如:

        /// <summary>
        /// 微信后臺驗證地址(使用Get),微信后臺的“接口配置信息”的Url填寫如:http://www.miracleart.cn/
        /// </summary>
        [HttpGet]
        [ActionName("Index")]
        public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
        {
            if (CheckSignature.Check(signature, timestamp, nonce, Token))
            {
                return Content(echostr); //返回隨機(jī)字符串則表示驗證通過
            }
            else
            {
                return Content("failed:" + signature + "," + MP.CheckSignature.GetSignature(timestamp, nonce, Token)+"。如果您在瀏覽器中看到這條信息,表明此Url可以填入微信后臺。");
            }
        }

  至此,這些代碼編譯后按照要求部署到網(wǎng)站上,并且在“接口配置信息”中填寫http://www.miracleart.cn/,Token填寫weixin。

上述代碼完整的WeixinController.cs可以看這里。

方法二:使用Web Forms

Web Forms的驗證過程和MVC是一樣的,只是寫法上有點(diǎn)差別,這里直接給出代碼(也要using Senparc.Weixin.MP.dll),假設(shè)文件名為根目錄下weixin.aspx:

 public partial class Weixin : System.Web.UI.Page
    {
        private readonly string Token = "weixin";//與微信公眾賬號后臺的Token設(shè)置保持一致,區(qū)分大小寫。

        protected void Page_Load(object sender, EventArgs e)
        {
            string signature = Request["signature"];
            string timestamp = Request["timestamp"];
            string nonce = Request["nonce"];
            string echostr = Request["echostr"];

            if (Request.HttpMethod == "GET")
            {
                //get method - 僅在微信后臺填寫URL驗證時觸發(fā)
                if (CheckSignature.Check(signature, timestamp, nonce, Token))
                {
                    WriteContent(echostr); //返回隨機(jī)字符串則表示驗證通過
                }
                else
                {
                    WriteContent("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, Token));
                }
               
            }
            else
            {
                 //判斷Post或其他方式請求
            }
             Response.End();
        }

        private void WriteContent(string str)
        {
            Response.Output.Write(str);
        }
}

  按照上面的代碼,在“接口配置信息”中,Url應(yīng)當(dāng)填寫http://YourDomain/weixin.aspx,Token應(yīng)當(dāng)填寫weixin。

? ? 上述weixin.aspx.cs完整代碼看這里(當(dāng)然你也可以寫成ashx進(jìn)一步提高效率)。

? ??

? ??CheckSignature.Check()方法是Senparc.Weixin.MP SDK中一個驗證請求的方法,已經(jīng)做了封裝。這里直接使用是為了簡化代碼突出重點(diǎn),感興趣的朋友可以直接看源代碼。

? ? 用以上MVC和Web Forms兩種方法的任意一種,已經(jīng)可以讓后臺驗證通過。但是注意,光有Get的方法,尚不能與微信用戶發(fā)來的信息通訊,因為通過前面的教程我們知道,微信后臺的Url是通過Get方式請求,而微信客戶端的請求是由Post方式請求的,關(guān)于Post的方法,我會在后面的教程中詳細(xì)說明。

? ? 并且,在目前的設(shè)置狀態(tài)下,即便你寫了Post相關(guān)的方法,通過驗證之后也并不表示你的服務(wù)器已經(jīng)可以接收到微信服務(wù)器的消息了,還有最后一步:手動打開“開發(fā)者模式”:

Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證

? ? 現(xiàn)在這個微信賬號已經(jīng)成功切換到了“開發(fā)者模式”,所有微信客戶端發(fā)送到該公眾賬號的消息,都將轉(zhuǎn)發(fā)到剛才填寫的Url中。

? ? 下一篇我們將介紹如何使用最“粗礦”的方式響應(yīng)客戶端的發(fā)來的Post請求。

? ? 了解了“粗礦”方法之后,我們會正式進(jìn)入“精致”和“簡潔”的Senparc.Weixin.MP SDK的方法。

更多Senparc.Weixin.MP SDK 微信公眾平臺開發(fā)教程(三):微信公眾平臺開發(fā)驗證?相關(guān)文章請關(guān)注PHP中文網(wǎng)!


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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

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)