久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ASP.NET Web API實現(xiàn)微信公眾平臺開發(fā)(一)服務(wù)器驗證

 蝸牛之窩 2016-05-31

最近朋友的微信公眾號準(zhǔn)備做活動,,靠固定的微信公眾平臺模版搞定不了,,于是請我代為開發(fā)微信后臺。鑒于我也是第一次嘗試開發(fā)微信后臺,,所以也踩了不少坑,,此系列博客將會描述微信公眾號各項功能的實現(xiàn)。


 


先決條件


1.一臺可部署web服務(wù)的服務(wù)器或者云平臺(我采用的是Microsoft Azure)


2.一個可以正常使用的微信公眾賬號


3.Visual Studio


 


開發(fā)準(zhǔn)備


1.采用ASP.NET Web API網(wǎng)站項目作為微信公眾號后臺服務(wù)


 


成為微信公眾號開發(fā)者


 


這一步很簡單,,只要在微信公眾號后臺的開發(fā)者中心同意協(xié)議即可,,同意之后頁面如下:


 



 


服務(wù)器配置


 


登錄微信公眾平臺官網(wǎng)后,在公眾平臺后臺管理頁面 - 開發(fā)者中心頁,,點擊“修改配置”按鈕,,填寫服務(wù)器地址(URL)、Token和EncodingAESKey,,其中URL是開發(fā)者用來接收微信消息和事件的接口URL,。Token可由開發(fā)者可以任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進(jìn)行比對,,從而驗證安全性),。EncodingAESKey由開發(fā)者手動填寫或隨機生成,將用作消息體加解密密鑰,。


同時,,開發(fā)者可選擇消息加解密方式:明文模式、兼容模式和安全模式,。模式的選擇與服務(wù)器配置在提交后都會立即生效,請開發(fā)者謹(jǐn)慎填寫及選擇,。加解密方式的默認(rèn)狀態(tài)為明文模式,,選擇兼容模式和安全模式需要提前配置好相關(guān)加解密代碼。


 



 


詳細(xì)內(nèi)容參考官方指南:http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html


這里我給出c#實現(xiàn)的簽名生成代碼:


 


復(fù)制代碼

//注意返回echostr字符串類型微信只接受“application/x-www-form-urlencoded”,直接返回是不被接受的

public HttpResponseMessage Get(string signature, string timestamp, string nonce, string echostr)
        {
            if (CheckSource(signature, timestamp, nonce))
            {
                var result = new StringContent(echostr, UTF8Encoding.UTF8, "application/x-www-form-urlencoded");
                var response = new HttpResponseMessage { Content = result };
                return response;
            }
            return new HttpResponseMessage();
        }

//檢驗是否來自微信的簽名
 public bool CheckSource(string signature, string timestamp, string nonce)
        {
            var str = string.Empty;
            var token = "cwtesttoken";
            var parameter = new List<string> { token, timestamp, nonce };
            parameter.Sort();
            var parameterStr = parameter[0] + parameter[1] + parameter[2];
            var tempStr = GetSHA1(parameterStr).Replace("-", "").ToLower();
            if (tempStr == signature)
                return true;

            return false;
        }

        //SHA1加密
        public string GetSHA1(string input)
        {
            var output = string.Empty;
            var sha1 = new SHA1CryptoServiceProvider();
            var inputBytes = UTF8Encoding.UTF8.GetBytes(input);
            var outputBytes = sha1.ComputeHash(inputBytes);
            sha1.Clear();
            output = BitConverter.ToString(outputBytes);
            return output;
        }

復(fù)制代碼

 


這樣在我們填入我們服務(wù)器端API地址后,,就能夠順利搞定服務(wù)器配置,,綁定微信公眾號后臺了。


 



 


 配置完成


 



 


總結(jié)


 


我們完成了配置微信公眾號開發(fā)的第一步,,后續(xù)將會利用微信的api進(jìn)行更多的操作,,比如自動回復(fù)語音、文章,、圖文等消息,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多