<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
        主站蜘蛛池模板: 99亚洲精品卡2卡三卡4卡2卡| 91精品国产免费入口| 巨胸狂喷奶水视频www网站免费| 午夜宅男在线永久免费观看网| 中文字幕亚洲综合精品一区| 亚欧日韩毛片在线看免费网站| 国产美女精品久久久久久久免费| 亚洲熟妇无码AV在线播放| a级毛片免费高清视频| 国产亚洲?V无码?V男人的天堂| 一级毛片正片免费视频手机看| 亚洲男人第一无码aⅴ网站| eeuss免费影院| 久久综合日韩亚洲精品色| 亚洲成人免费在线| 激情亚洲一区国产精品| 成年女人18级毛片毛片免费观看| 亚洲国产aⅴ成人精品无吗| 欧洲精品99毛片免费高清观看| 亚洲va无码va在线va天堂| 中国人xxxxx69免费视频| 国产亚洲sss在线播放| 四虎影视成人永久免费观看视频| 亚洲精品在线观看视频| 久久精品免费一区二区喷潮| 精品亚洲aⅴ在线观看| a级毛片在线免费看| 精品无码一区二区三区亚洲桃色| 免费观看的毛片大全| 羞羞的视频在线免费观看| 亚洲精品国产美女久久久| 精品国产免费人成电影在线观看 | 亚洲好看的理论片电影| 免费下载成人电影| 暖暖免费中文在线日本| 国产成人3p视频免费观看| 伊人免费在线观看| 中文日韩亚洲欧美制服| 亚洲小说区图片区另类春色| 免费视频专区一国产盗摄| 中文在线免费观看|