<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        微信公眾平臺(tái)開(kāi)發(fā)之認(rèn)證"成為開(kāi)發(fā)者".Net代碼解析

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:37:02
        文檔

        微信公眾平臺(tái)開(kāi)發(fā)之認(rèn)證"成為開(kāi)發(fā)者".Net代碼解析

        微信公眾平臺(tái)開(kāi)發(fā)之認(rèn)證成為開(kāi)發(fā)者.Net代碼解析:.Net 實(shí)現(xiàn)微信公共服務(wù)平臺(tái)開(kāi)發(fā)的認(rèn)證,認(rèn)證成為開(kāi)發(fā)者,具體內(nèi)容如下 這些代碼也就開(kāi)始認(rèn)證的時(shí)候用一次,以后就不用了: const string Token = XXXXX;//你的token protected void Page_Load(object sender, EventArgs
        推薦度:
        導(dǎo)讀微信公眾平臺(tái)開(kāi)發(fā)之認(rèn)證成為開(kāi)發(fā)者.Net代碼解析:.Net 實(shí)現(xiàn)微信公共服務(wù)平臺(tái)開(kāi)發(fā)的認(rèn)證,認(rèn)證成為開(kāi)發(fā)者,具體內(nèi)容如下 這些代碼也就開(kāi)始認(rèn)證的時(shí)候用一次,以后就不用了: const string Token = XXXXX;//你的token protected void Page_Load(object sender, EventArgs

        .Net 實(shí)現(xiàn)微信公共服務(wù)平臺(tái)開(kāi)發(fā)的認(rèn)證,認(rèn)證成為開(kāi)發(fā)者,具體內(nèi)容如下

        這些代碼也就開(kāi)始認(rèn)證的時(shí)候用一次,以后就不用了:

        const string Token = "XXXXX";//你的token 
        protected void Page_Load(object sender, EventArgs e) 
        { 
         string postStr = ""; 
         if (Request.HttpMethod.ToLower() == "post") 
         { 
         System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream; 
         byte[] b = new byte[s.Length]; 
         s.Read(b, 0, (int)s.Length); 
         postStr = System.Text.Encoding.UTF8.GetString(b); 
         if (!string.IsNullOrEmpty(postStr)) 
         { 
         //ResponseMsg(postStr); 
         Response.Write(ResponseMsg(postStr)); 
         Response.End(); 
         } 
         //WriteLog("postStr:" + postStr); 
         } 
         else 
         { 
         Valid(); 
         } 
        } 
         
        /// <summary> 
        /// 驗(yàn)證微信簽名 
        /// </summary> 
        /// * 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序 
        /// * 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密 
        /// * 開(kāi)發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信。 
        /// <returns></returns> 
        private bool CheckSignature() 
        { 
         string signature = Request.QueryString["signature"].ToString(); 
         string timestamp = Request.QueryString["timestamp"].ToString(); 
         string nonce = Request.QueryString["nonce"].ToString(); 
         string[] ArrTmp = { Token, timestamp, nonce }; 
         Array.Sort(ArrTmp); //字典排序 
         string tmpStr = string.Join("", ArrTmp); 
         tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1"); 
         tmpStr = tmpStr.ToLower(); 
         if (tmpStr == signature) 
         { 
         return true; 
         } 
         else 
         { 
         return false; 
         } 
        } 
        .private void Valid() 
        { 
         string echoStr = Request.QueryString["echoStr"].ToString(); 
         if (CheckSignature()) 
         { 
         if (!string.IsNullOrEmpty(echoStr)) 
         { 
         Response.Write(echoStr); 
         Response.End(); 
         } 
         } 
        } 
         
        /// <summary> 
        /// 寫(xiě)日志(用于跟蹤) 
        /// </summary> 
        private void WriteLog(string strMemo) 
        { 
         string filename = Server.MapPath("/logs/log.txt"); 
         if (!Directory.Exists(Server.MapPath("http://logs//"))) 
         Directory.CreateDirectory("http://logs//"); 
         StreamWriter sr = null; 
         try 
         { 
         if (!File.Exists(filename)) 
         { 
         sr = File.CreateText(filename); 
         } 
         else 
         { 
         sr = File.AppendText(filename); 
         } 
         sr.WriteLine(strMemo); 
         } 
         catch 
         { 
         
         } 
         finally 
         { 
         if (sr != null) 
         sr.Close(); 
         } 
        } 

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        微信公眾平臺(tái)開(kāi)發(fā)之認(rèn)證"成為開(kāi)發(fā)者".Net代碼解析

        微信公眾平臺(tái)開(kāi)發(fā)之認(rèn)證成為開(kāi)發(fā)者.Net代碼解析:.Net 實(shí)現(xiàn)微信公共服務(wù)平臺(tái)開(kāi)發(fā)的認(rèn)證,認(rèn)證成為開(kāi)發(fā)者,具體內(nèi)容如下 這些代碼也就開(kāi)始認(rèn)證的時(shí)候用一次,以后就不用了: const string Token = XXXXX;//你的token protected void Page_Load(object sender, EventArgs
        推薦度:
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 国产亚洲精品福利在线无卡一| 日本精品人妻无码免费大全| 亚洲成人一级电影| 国产午夜精品理论片免费观看 | 久久亚洲AV无码精品色午夜麻豆| 亚洲国产品综合人成综合网站| 97青青草原国产免费观看| 亚洲人成网站色在线入口| 青青草国产免费国产是公开| mm1313亚洲精品无码又大又粗| 亚洲精品亚洲人成在线观看麻豆| 人成电影网在线观看免费| 亚洲成a人一区二区三区| 有码人妻在线免费看片| 亚洲av综合av一区| 亚洲高清视频免费| 亚洲精品二区国产综合野狼| 国产免费一区二区三区不卡| 亚洲邪恶天堂影院在线观看| 韩日电影在线播放免费版| 国产一级做a爱免费视频| 全部在线播放免费毛片| 亚洲国产成人高清在线观看| 久久久久久国产a免费观看黄色大片 | 亚洲三级视频在线| 免费成人高清在线视频| 18亚洲男同志videos网站| 日韩毛片免费无码无毒视频观看| mm1313亚洲国产精品无码试看| 亚洲伦乱亚洲h视频| **毛片免费观看久久精品| 国产亚洲福利在线视频| 亚洲精品无码专区2| 黄色永久免费网站| 亚洲色偷偷av男人的天堂| 成人看的午夜免费毛片| 国内精品免费久久影院| 亚洲人成无码网站在线观看| 国产亚洲自拍一区| 野花高清在线观看免费3中文| j8又粗又长又硬又爽免费视频|