黄色草逼视频_久久夜夜视频_亚洲国产成人久久午夜_三级在线播放

網(wǎng)站改版|WAP網(wǎng)站制作|域名注冊|虛擬主機(jī)|服務(wù)器|海微商|海微信|海微通| 無障礙| 24小時服務(wù)電話:13807590485
海南網(wǎng)站建設(shè)海南網(wǎng)站制作海口網(wǎng)站建設(shè)三亞網(wǎng)站建設(shè)儋州網(wǎng)站建設(shè)五指山網(wǎng)站建設(shè)文昌網(wǎng)站建設(shè)瓊海網(wǎng)站建設(shè)萬寧網(wǎng)站建設(shè)東方網(wǎng)站建設(shè)定安網(wǎng)站建設(shè) 網(wǎng)站首頁網(wǎng)站首頁 網(wǎng)站建設(shè)網(wǎng)站建設(shè) 微信開發(fā)微信開發(fā) 網(wǎng)站推廣網(wǎng)站推廣 海南網(wǎng)站建設(shè)公司,海南網(wǎng)站開發(fā)制作公司,海南網(wǎng)頁設(shè)計公司,海南小程序開發(fā)公司,海南微信公眾號開發(fā)公司,海南網(wǎng)絡(luò)公司,海南世紀(jì)華聯(lián)海南世紀(jì)華聯(lián) 網(wǎng)站超市網(wǎng)站超市 客戶案例客戶案例 網(wǎng)站模板網(wǎng)站模板 關(guān)于我們關(guān)于我們
  • 微信開發(fā)
  • 持之以恒
  • 網(wǎng)站設(shè)計制作
  • 中立五年回報客戶
無障礙
微信開發(fā)
微信系統(tǒng)開發(fā) 微信開發(fā)功能 公眾號基礎(chǔ)教程 開發(fā)技術(shù)資訊 公眾號推廣營銷 客戶案例
聯(lián)系我們
QQ服務(wù)群:28519571 工作時間:86-0898-31568080 傳真號碼:86-0898-31568085 24小時服務(wù):0138-07590485
 您現(xiàn)在的位置: 首頁 >> 微信開發(fā) >> 開發(fā)技術(shù)資訊 開發(fā)技術(shù)資訊
.NET 微信開放平臺接口
世紀(jì)華聯(lián) | 2018-01-26 23:49:25 | 閱讀:13666
  1. <%@ WebHandler Language="C#" Class="WeixinInterface" %>

  2. using System;
  3. using System.Web;

  4. public class WeixinInterface : IHttpHandler
  5. {
  6. HttpContext context = null;
  7. string postStr = "";
  8. public void ProcessRequest(HttpContext param_context)
  9. {
  10. context = param_context;

  11. //以寫日志為榮,以打斷點(diǎn)為恥.
  12. //WriteLog("before valid n");
  13. //valid();//用于驗證
  14. //WriteLog("after valid, before post n");
  15. if (context.Request.HttpMethod.ToLower() == "post")
  16. {
  17. System.IO.Stream s = context.Request.InputStream;
  18. byte[] b = new byte[s.Length];
  19. s.Read(b, 0, (int)s.Length);
  20. postStr = System.Text.Encoding.UTF8.GetString(b);
  21. if (!string.IsNullOrEmpty(postStr))
  22. {
  23. responseMsg(postStr);
  24. }
  25. //WriteLog("-------AfterResponseMsg:-------n" + postStr);
  26. }
  27. }

  28. public void valid()
  29. {
  30. var echostr = context.Request["echoStr"].ToString();
  31. if (checkSignature() && !string.IsNullOrEmpty(echostr))
  32. {
  33. context.Response.Write(echostr);
  34. context.Response.End();//推送...不然微信平臺無法驗證token
  35. }
  36. }

  37. public bool checkSignature()
  38. {
  39. var signature = context.Request["signature"].ToString();
  40. var timestamp = context.Request["timestamp"].ToString();
  41. var nonce = context.Request["nonce"].ToString();
  42. var token = "faketoken";
  43. string[] ArrTmp = { token, timestamp, nonce };
  44. Array.Sort(ArrTmp); //字典排序
  45. string tmpStr = string.Join("", ArrTmp);
  46. tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
  47. tmpStr = tmpStr.ToLower();
  48. if (tmpStr == signature)
  49. {
  50. return true;
  51. }
  52. else
  53. {
  54. return false;
  55. }
  56. }

  57. public string GetSha1(System.Collections.Generic.List codelist)
  58. {
  59. codelist.Sort();
  60. var combostr = string.Empty;
  61. for (int i = 0; i < codelist.Count; i++)
  62. {
  63. combostr += codelist;
  64. }
  65. return EncryptToSHA1(combostr);
  66. }

  67. public string EncryptToSHA1(string str)
  68. {
  69. System.Security.Cryptography.SHA1CryptoServiceProvider sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
  70. byte[] str1 = System.Text.Encoding.UTF8.GetBytes(str);
  71. byte[] str2 = sha1.ComputeHash(str1);
  72. sha1.Clear();
  73. (sha1 as IDisposable).Dispose();
  74. return Convert.ToBase64String(str2);
  75. }

  76. public void responseMsg(string postStr)
  77. {
  78. System.Xml.XmlDocument postObj = new System.Xml.XmlDocument();
  79. postObj.LoadXml(postStr);
  80. WriteLog("responseMsg:-------" + postStr);
  81. var FromUserNameList = postObj.GetElementsByTagName("FromUserName");
  82. string FromUserName = string.Empty;
  83. for (int i = 0; i < FromUserNameList.Count; i++)
  84. {
  85. if (FromUserNameList.ChildNodes[0].NodeType == System.Xml.XmlNodeType.CDATA)
  86. {
  87. FromUserName = FromUserNameList.ChildNodes[0].Value;
  88. }
  89. }
  90. var toUsernameList = postObj.GetElementsByTagName("ToUserName");
  91. string ToUserName = string.Empty;
  92. for (int i = 0; i < toUsernameList.Count; i++)
  93. {
  94. if (toUsernameList.ChildNodes[0].NodeType == System.Xml.XmlNodeType.CDATA)
  95. {
  96. ToUserName = toUsernameList.ChildNodes[0].Value;
  97. }
  98. }
  99. var keywordList = postObj.GetElementsByTagName("Content");
  100. string Content = string.Empty;
  101. for (int i = 0; i < keywordList.Count; i++)
  102. {
  103. if (keywordList.ChildNodes[0].NodeType == System.Xml.XmlNodeType.CDATA)
  104. {
  105. Content = keywordList.ChildNodes[0].Value;
  106. }
  107. }
  108. var time = DateTime.Now;
  109. var textpl = "" +
  110. "" +
  111. "" + ConvertDateTimeInt(DateTime.Now) + "" +
  112. "0 ";
  113. context.Response.Write(textpl);
  114. context.Response.End();
  115. }

  116. private DateTime UnixTimeToTime(string timeStamp)
  117. {
  118. DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
  119. long lTime = long.Parse(timeStamp + "0000000");
  120. TimeSpan toNow = new TimeSpan(lTime);
  121. return dtStart.Add(toNow);
  122. }

  123. private int ConvertDateTimeInt(System.DateTime time)
  124. {
  125. System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
  126. return (int)(time - startTime).TotalSeconds;
  127. }

  128. private void WriteLog(string strMemo)
  129. {
  130. string filename = "D:/WEBHOME/logs/log.txt";
  131. if (!System.IO.Directory.Exists("D:/WEBHOME/logs/"))
  132. System.IO.Directory.CreateDirectory("D:/WEBHOME/logs/");
  133. System.IO.StreamWriter sr = null;
  134. try
  135. {
  136. if (!System.IO.File.Exists(filename))
  137. {
  138. sr = System.IO.File.CreateText(filename);
  139. }
  140. else
  141. {
  142. sr = System.IO.File.AppendText(filename);
  143. }
  144. sr.WriteLine(strMemo);
  145. }
  146. catch
  147. {
  148. }
  149. finally
  150. {
  151. if (sr != null)
  152. sr.Close();
  153. }
  154. }

  155. public bool IsReusable
  156. {
  157. get
  158. {
  159. return false;
  160. }
  161. }
  162. }
復(fù)制代碼
1.如果是為了驗證微信接口的token是否通過, 將valid注釋去掉

2.如果要返回給用戶值, 注釋掉valid
海南網(wǎng)站建設(shè)|海南網(wǎng)站制作|海口網(wǎng)站建設(shè)|三亞網(wǎng)站建設(shè)|儋州網(wǎng)站建設(shè)|五指山網(wǎng)站建設(shè)|文昌網(wǎng)站建設(shè)|瓊海網(wǎng)站建設(shè)|萬寧網(wǎng)站建設(shè)|東方網(wǎng)站建設(shè)|定安網(wǎng)站建設(shè)|屯昌網(wǎng)站建設(shè)|澄邁網(wǎng)站建設(shè)|臨高網(wǎng)站建設(shè)|白沙網(wǎng)站建設(shè)|昌江網(wǎng)站建設(shè)|樂東網(wǎng)站建設(shè)|陵水網(wǎng)站建設(shè)|保亭網(wǎng)站建設(shè)|瓊中網(wǎng)站建設(shè)|?诰⒕W(wǎng)|三亞精英網(wǎng)|文昌精英網(wǎng)|瓊海精英網(wǎng)|陵水精英網(wǎng)|儋州精英網(wǎng)|萬寧精英網(wǎng)|澄邁精英網(wǎng)|海微通
合作伙伴 企業(yè)發(fā)展 企業(yè)文化 聯(lián)系我們 在線訂購 網(wǎng)站地圖 返回首頁手機(jī)版
海口世紀(jì)華聯(lián)科技有限公司2025版權(quán)所有 24小時服務(wù)熱線:13807590485   歡迎來電咨詢
地址:海南省.?谑.海甸二東路環(huán)惠大廈6樓(南寶路明都大廈107#) 公司電話:0898-31568080 31568060 QQ:85398489
全國合作聯(lián)盟分布:海南?凇∷拇ǔ啥肌『蔽錆h 湖南長沙 安徽合肥 廣東深圳 山西太原 西藏拉薩
技術(shù)服務(wù): E_mail:server@www.0118yy.com 服務(wù)訂購:E_mail:server@www.0118yy.com 在線客服邀請 瓊ICP備10201086號-15
推廣關(guān)鍵字:海南網(wǎng)站建設(shè)公司,海南網(wǎng)站制作公司,海南網(wǎng)站開發(fā)公司,海南微信開發(fā)公司,海南微信公眾號開發(fā)公司,海南微信公眾號代運(yùn)營公司,海南模板網(wǎng)站制作公司,海南網(wǎng)頁設(shè)計公司,海南網(wǎng)絡(luò)公司