国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

微信開發(fā)第一步—接入指南

2019-11-17 02:14:48
字體:
供稿:網(wǎng)友

微信開發(fā)第一步—接入指南

一、開發(fā)前的準(zhǔn)備

1.要有一個(gè)公網(wǎng)的地址空間(Azure,阿里云....)2.自己定義一個(gè)Token(自己定義一個(gè)字符串就行,后面寫代碼時(shí)候也會(huì)用到)3.信息在客戶端,微信服務(wù)器,網(wǎng)站之間的處理過程

二、驗(yàn)證服務(wù)器地址的有效性

開發(fā)者提交信息后,微信服務(wù)器將發(fā)送GET請(qǐng)求到填寫的服務(wù)器地址URL上,GET請(qǐng)求攜帶四個(gè)參數(shù):

參數(shù)描述
signature微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請(qǐng)求中的timestamp參數(shù)、nonce參數(shù)。
timestamp時(shí)間戳
nonce隨機(jī)數(shù)
echostr隨機(jī)字符串

開發(fā)者通過檢驗(yàn)signature對(duì)請(qǐng)求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請(qǐng)求來自微信服務(wù)器,請(qǐng)?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失敗。

三、進(jìn)行編碼(我這里采用的是asp.net MVC的架構(gòu))

1.創(chuàng)建一個(gè)MVC的空工程

2.創(chuàng)建一個(gè)微信使用的Controller

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Security; 7 namespace MvcWeiXin.Controllers 8 { 9     public class WeChatController : Controller10     {11         public const string TOKEN = "*********";12         //13         // GET: /WeChat/14         [HttpGet]15         public string Index(string signature, string timestamp, string nonce, string echoStr)16         {17             if (checkSignature(signature, timestamp, nonce))18             {19                 return echoStr;20             }21             return string.Empty;22         }23         /// <summary>24         /// 加密/校驗(yàn)流程如下:25         ///1. 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序26         ///2. 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密27         ///3. 開發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來源于微信28         /// </summary>29         /// <param name="signature"></param>30         /// <param name="timestamp"></param>31         /// <param name="nonce"></param>32         /// <returns></returns>33         PRivate bool checkSignature(string signature, string timestamp, string nonce)34         {35             string[] checkArray = { TOKEN, timestamp, nonce };36             //進(jìn)行字典排序37             Array.Sort(checkArray);38             //將數(shù)組內(nèi)的項(xiàng)進(jìn)行串聯(lián)39             string resultTempStr = string.Join("", checkArray);40             //將字符串進(jìn)行SHA1加密41             string resultStr = FormsAuthentication.HashPassWordForStoringInConfigFile(resultTempStr, "SHA1");42             if (resultStr.ToLower() == signature)43             {44                 return true;45             }46             return false;47         }48     }49 }

四、將項(xiàng)目發(fā)布到虛擬主機(jī)里面

1.關(guān)于網(wǎng)絡(luò)主機(jī)的選擇

這里我使用了萬網(wǎng)的免費(fèi)虛擬主機(jī),簡(jiǎn)單申請(qǐng)請(qǐng)看下面的圖片,具體申請(qǐng)的步驟就不贅述了。

2.發(fā)布項(xiàng)目

這里我采用了先在本地生成文件的方式,然后再上傳。

發(fā)布成功后,桌面就會(huì)出現(xiàn)生成后的文件,然后采用FTP的方式上傳到網(wǎng)絡(luò)空間就行了

這里我遇到了一個(gè)問題,就是我在上傳到萬網(wǎng)的時(shí)候,出現(xiàn)了以下的信息:

是什么原因?qū)е碌奈疫€不清楚,解決辦法如下,在你的工程中運(yùn)行"程序包管理控制臺(tái)",執(zhí)行 Update-Package Microsoft.AspNet.WebApi -reinstall

然后重新發(fā)布一下,然后上傳到虛擬主機(jī)

3.測(cè)試一下是否成功

如果下圖點(diǎn)擊“提交”成功的話,證明整個(gè)過程就已經(jīng)通了


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉义市| 电白县| 酒泉市| 兴隆县| 田阳县| 和政县| 忻城县| 邵阳市| 交城县| 自贡市| 鹿泉市| 通渭县| 乌拉特后旗| 铅山县| 泰州市| 阿拉善盟| 陈巴尔虎旗| 西安市| 衡南县| 富顺县| 巴青县| 上饶县| 城口县| 永昌县| 江达县| 宁津县| 广宁县| 长葛市| 梁山县| 金溪县| 明光市| 舟曲县| 夏津县| 绥芬河市| 邵武市| 拉孜县| 长武县| 清远市| 布尔津县| 长寿区| 宁城县|