C#微信開發(fā)(服務(wù)器配置)
小編對(duì)微信開發(fā)頗感興趣,查閱了網(wǎng)上相關(guān)文章進(jìn)行整理,方便大家一起學(xué)習(xí)。
1、注冊(cè)帳號(hào)--填寫服務(wù)器配置
在https://mp.weixin.qq.com/ 微信公眾平臺(tái)上注冊(cè)帳號(hào);
服務(wù)號(hào)是公司申請(qǐng)的微信公共賬號(hào),訂閱號(hào)是個(gè)人申請(qǐng)的,個(gè)人權(quán)限比較少;
登錄微信公眾平臺(tái)官網(wǎng)后,在公眾平臺(tái)后臺(tái)管理頁面 - 開發(fā)者中心頁,點(diǎn)擊“修改配置”按鈕,填寫服務(wù)器地址(URL)、Token和EncodingAESKey,其中URL是開發(fā)者用來接收微信消息和事件 的接口URL。Token可由開發(fā)者可以任意填寫,用作生成簽名(該Token會(huì)和接口URL中包含的Token進(jìn)行比對(duì),從而驗(yàn)證安全性)。 EncodingAESKey由開發(fā)者手動(dòng)填寫或隨機(jī)生成,將用作消息體加解密密鑰。
同時(shí),開發(fā)者可選擇消息加解密方式:明文模式、兼容模式和安全模式。模式的選擇與服務(wù)器配置在提交后都會(huì)立即生效,請(qǐng)開發(fā)者謹(jǐn)慎填寫及選擇。加解密方式的默認(rèn)狀態(tài)為明文模式,選擇兼容模式和安全模式需要提前配置好相關(guān)加解密代碼,詳情請(qǐng)參考消息體簽名及加解密部分的文檔。
URL 必須為80端口,并且只能在服務(wù)器上的?。?!
2、驗(yàn)證URL是否有效
private string Token = ConfigurationManager.AppSettings["Token"]; [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ī)字符串則表示驗(yàn)證通過 } else { return Content("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, Token) + "。如果你在瀏覽器中看到這句話,說明此地址可以被作為微信公眾賬號(hào)后臺(tái)的Url,請(qǐng)注意保持Token一致。"); } } /// <summary> /// 檢查簽名是否正確 /// </summary> /// <param name="signature"></param> /// <param name="timestamp"></param> /// <param name="nonce"></param> /// <param name="token"></param> /// <returns></returns> public static bool Check(string signature, string timestamp, string nonce, string token = null) { return signature == GetSignature(timestamp, nonce, token); } /// <summary> /// 返回正確的簽名 /// </summary> /// <param name="timestamp"></param> /// <param name="nonce"></param> /// <param name="token"></param> /// <returns></returns> public static string GetSignature(string timestamp, string nonce, string token = null) { token = token ?? Token; var arr = new[] { token, timestamp, nonce }.OrderBy(z => z).ToArray(); var arrString = string.Join("", arr); //var enText = FormsAuthentication.HashPasswordForStoringInConfigFile(arrString, "SHA1");//使用System.Web.Security程序集 var sha1 = System.Security.Cryptography.SHA1.Create(); var sha1Arr = sha1.ComputeHash(Encoding.UTF8.GetBytes(arrString)); StringBuilder enText = new StringBuilder(); foreach (var b in sha1Arr) { enText.AppendFormat("{0:x2}", b); } return enText.ToString(); }
提交配置即可,驗(yàn)證成功才能夠繼續(xù)使用更多的功能。如果提交失敗的話,可以自己寫個(gè)日志查看原因。
精彩專題分享:ASP.NET微信開發(fā)教程匯總,歡迎大家學(xué)習(xí)。
小編也是剛剛接觸微信開發(fā),之前整理了幾篇asp.net微信開發(fā)的文章,今天開始整理關(guān)于C#微信開發(fā)的相關(guān)知識(shí),由于小編也是初學(xué),如果有嚴(yán)謹(jǐn)或者是錯(cuò)誤的地方,請(qǐng)大家多多諒解,大家共同進(jìn)步。
欄 目:C#教程
下一篇:C#中使用JSON.NET實(shí)現(xiàn)JSON、XML相互轉(zhuǎn)換
本文標(biāo)題:C#微信開發(fā)(服務(wù)器配置)
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6832.html
您可能感興趣的文章
- 01-10微信開放平臺(tái)之網(wǎng)站授權(quán)微信登錄功能
- 01-10C#調(diào)用WebService實(shí)例開發(fā)
- 01-10實(shí)現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路
- 01-10C#開發(fā)中的垃圾回收機(jī)制簡(jiǎn)析
- 01-10結(jié)合Visual C#開發(fā)環(huán)境講解C#中事件的訂閱和取消訂閱
- 01-10C#開發(fā)Android百度地圖手機(jī)應(yīng)用程序(多地圖展示)
- 01-10C#微信公眾平臺(tái)開發(fā)之高級(jí)群發(fā)接口
- 01-10C#微信公眾平臺(tái)開發(fā)之a(chǎn)ccess
- 01-10C#在Unity游戲開發(fā)中進(jìn)行多線程編程的方法
- 01-10C#基于TCP協(xié)議的服務(wù)器端和客戶端通信編程的基礎(chǔ)教程


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置