婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET微信開發(接口指南)

ASP.NET微信開發(接口指南)

熱門標簽:地圖標注的公司有哪些 天心智能電銷機器人 地圖定位圖標標注 遂寧市地圖標注app 400電話辦理哪家性價比高 地圖標注專業團隊 濮陽外呼電銷系統怎么樣 代理接電話機器人如何取消 塔城代理外呼系統

公眾平臺用戶提交信息后,微信服務器將發送GET請求到填寫的URL上,并且帶上四個參數:

開發者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,否則接入失敗。

signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。

加密/校驗流程:

  • 1. 將token、timestamp、nonce三個參數進行字典序排序
  • 2. 將三個參數字符串拼接成一個字符串進行sha1加密
  • 3. 開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信
/// summary> 
 /// 驗證簽名 
 /// /summary> 
 /// param name="signature">/param> 
 /// param name="timestamp">/param> 
 /// param name="nonce">/param> 
 /// returns>/returns> 
 public static bool CheckSignature(String signature, String timestamp, String nonce) 
 { 
 String[] arr = new String[] { token, timestamp, nonce }; 
 // 將token、timestamp、nonce三個參數進行字典序排序 
 Array.SortString>(arr); 
 
 StringBuilder content = new StringBuilder(); 
 for (int i = 0; i  arr.Length; i++) 
 { 
  content.Append(arr[i]); 
 } 
 
 String tmpStr = SHA1_Encrypt(content.ToString()); 
 
 
 // 將sha1加密后的字符串可與signature對比,標識該請求來源于微信 
 return tmpStr != null ? tmpStr.Equals(signature) : false; 
 } 
 
 
 /// summary> 
 /// 使用缺省密鑰給字符串加密 
 /// /summary> 
 /// param name="Source_String">/param> 
 /// returns>/returns> 
 public static string SHA1_Encrypt(string Source_String) 
 { 
 byte[] StrRes = Encoding.Default.GetBytes(Source_String); 
 HashAlgorithm iSHA = new SHA1CryptoServiceProvider(); 
 StrRes = iSHA.ComputeHash(StrRes); 
 StringBuilder EnText = new StringBuilder(); 
 foreach (byte iByte in StrRes) 
 { 
  EnText.AppendFormat("{0:x2}", iByte); 
 } 
 return EnText.ToString(); 
 } 

接入后是消息推送當普通微信用戶向公眾賬號發消息時,微信服務器將POST該消息到填寫的URL上。

 protected void Page_Load(object sender, EventArgs e) 
 { 
 
 if (Request.HttpMethod.ToUpper() == "GET") 
 { 
  // 微信加密簽名 
  string signature = Request.QueryString["signature"]; 
  // 時間戳 
  string timestamp = Request.QueryString["timestamp"]; 
  // 隨機數 
  string nonce = Request.QueryString["nonce"]; 
  // 隨機字符串 
  string echostr = Request.QueryString["echostr"]; 
  if (WeixinServer.CheckSignature(signature, timestamp, nonce)) 
  { 
  Response.Write(echostr); 
  } 
 
 } 
 else if (Request.HttpMethod.ToUpper() == "POST") 
 { 
 
  StreamReader stream = new StreamReader(Request.InputStream); 
  string xml = stream.ReadToEnd(); 
 
  processRequest(xml); 
 } 
 
 
 } 
 
 
 /// summary> 
 /// 處理微信發來的請求 
 /// /summary> 
 /// param name="xml">/param> 
 public void processRequest(String xml) 
 { 
 try 
 { 
 
  // xml請求解析 
  Hashtable requestHT = WeixinServer.ParseXml(xml); 
 
  // 發送方帳號(open_id) 
  string fromUserName = (string)requestHT["FromUserName"]; 
  // 公眾帳號 
  string toUserName = (string)requestHT["ToUserName"]; 
  // 消息類型 
  string msgType = (string)requestHT["MsgType"]; 
 
  //文字消息 
  if (msgType == ReqMsgType.Text) 
  { 
  // Response.Write(str); 
 
  string content = (string)requestHT["Content"]; 
  if(content=="1") 
  { 
   // Response.Write(str); 
   Response.Write(GetNewsMessage(toUserName, fromUserName)); 
   return; 
  } 
  if (content == "2") 
  { 
   Response.Write(GetUserBlogMessage(toUserName, fromUserName)); 
   return; 
  } 
  if (content == "3") 
  { 
   Response.Write(GetGroupMessage(toUserName, fromUserName)); 
   return; 
  } 
  if (content == "4") 
  { 
   Response.Write(GetWinePartyMessage(toUserName, fromUserName)); 
   return; 
  } 
  Response.Write(GetMainMenuMessage(toUserName, fromUserName, "你好,我是vinehoo,")); 
 
  } 
  else if (msgType == ReqMsgType.Event) 
  { 
  // 事件類型 
  String eventType = (string)requestHT["Event"]; 
  // 訂閱 
  if (eventType==ReqEventType.Subscribe) 
  { 
   
   Response.Write(GetMainMenuMessage(toUserName, fromUserName, "謝謝您的關注!,")); 
   
  } 
  // 取消訂閱 
  else if (eventType==ReqEventType.Unsubscribe) 
  { 
   // TODO 取消訂閱后用戶再收不到公眾號發送的消息,因此不需要回復消息 
  } 
  // 自定義菜單點擊事件 
  else if (eventType==ReqEventType.CLICK) 
  { 
   // TODO 自定義菜單權沒有開放,暫不處理該類消息 
  } 
  } 
  else if (msgType == ReqMsgType.Location) 
  { 
  } 
 
 
 } 
 catch (Exception e) 
 { 
  
 } 
 }pre name="code" class="csharp"> protected void Page_Load(object sender, EventArgs e) 
 { 
 
 if (Request.HttpMethod.ToUpper() == "GET") 
 { 
  // 微信加密簽名 
  string signature = Request.QueryString["signature"]; 
  // 時間戳 
  string timestamp = Request.QueryString["timestamp"]; 
  // 隨機數 
  string nonce = Request.QueryString["nonce"]; 
  // 隨機字符串 
  string echostr = Request.QueryString["echostr"]; 
  if (WeixinServer.CheckSignature(signature, timestamp, nonce)) 
  { 
  Response.Write(echostr); 
  } 
 
 } 
 else if (Request.HttpMethod.ToUpper() == "POST") 
 { 
 
  StreamReader stream = new StreamReader(Request.InputStream); 
  string xml = stream.ReadToEnd(); 
 
  processRequest(xml); 
 } 
 
 
 } 
 
 
 /// summary> 
 /// 處理微信發來的請求 
 /// /summary> 
 /// param name="xml">/param> 
 public void processRequest(String xml) 
 { 
 try 
 { 
 
  // xml請求解析 
  Hashtable requestHT = WeixinServer.ParseXml(xml); 
 
  // 發送方帳號(open_id) 
  string fromUserName = (string)requestHT["FromUserName"]; 
  // 公眾帳號 
  string toUserName = (string)requestHT["ToUserName"]; 
  // 消息類型 
  string msgType = (string)requestHT["MsgType"]; 
 
  //文字消息 
  if (msgType == ReqMsgType.Text) 
  { 
  // Response.Write(str); 
 
  string content = (string)requestHT["Content"]; 
  if(content=="1") 
  { 
   // Response.Write(str); 
   Response.Write(GetNewsMessage(toUserName, fromUserName)); 
   return; 
  } 
  if (content == "2") 
  { 
   Response.Write(GetUserBlogMessage(toUserName, fromUserName)); 
   return; 
  } 
  if (content == "3") 
  { 
   Response.Write(GetGroupMessage(toUserName, fromUserName)); 
   return; 
  } 
  if (content == "4") 
  { 
   Response.Write(GetWinePartyMessage(toUserName, fromUserName)); 
   return; 
  } 
  Response.Write(GetMainMenuMessage(toUserName, fromUserName, "你好,我是vinehoo,")); 
 
  } 
  else if (msgType == ReqMsgType.Event) 
  { 
  // 事件類型 
  String eventType = (string)requestHT["Event"]; 
  // 訂閱 
  if (eventType==ReqEventType.Subscribe) 
  { 
   
   Response.Write(GetMainMenuMessage(toUserName, fromUserName, "謝謝您的關注!,")); 
   
  } 
  // 取消訂閱 
  else if (eventType==ReqEventType.Unsubscribe) 
  { 
   // TODO 取消訂閱后用戶再收不到公眾號發送的消息,因此不需要回復消息 
  } 
  // 自定義菜單點擊事件 
  else if (eventType==ReqEventType.CLICK) 
  { 
   // TODO 自定義菜單權沒有開放,暫不處理該類消息 
  } 
  } 
  else if (msgType == ReqMsgType.Location) 
  { 
  } 
 
 
 } 
 catch (Exception e) 
 { 
  
 } 
 }/pre>br> 
pre>/pre> 
br> 
br> 

本文已被整理到了《ASP.NET微信開發教程匯總》,歡迎大家學習閱讀。

以上就是關于ASP.NET微信開發接口指南的相關內容介紹,希望對大家的學習有所幫助。

您可能感興趣的文章:
  • .NET微信公眾號查看關注者接口
  • C#.net 微信公眾賬號接口開發
  • asp.net實現微信公眾賬號接口開發教程
  • .net實現微信公眾賬號接口開發實例代碼
  • 微信JS接口匯總及使用詳解
  • PHP對接微信公眾平臺消息接口開發流程教程
  • 微信API接口大全
  • 微信公眾號支付(二)實現統一下單接口
  • 微信公眾平臺開發接口PHP SDK完整版
  • .NET微信公眾號客服接口

標簽:麗江 宜春 汕頭 重慶 婁底 吉林 本溪 河南

巨人網絡通訊聲明:本文標題《ASP.NET微信開發(接口指南)》,本文關鍵詞  ASP.NET,微信,開發,接口,指南,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET微信開發(接口指南)》相關的同類信息!
  • 本頁收集關于ASP.NET微信開發(接口指南)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩欧美黄色影院| 免费不卡在线视频| 精品国产91久久久久久久妲己| 欧美卡1卡2卡| 91精品国产丝袜白色高跟鞋| 在线不卡a资源高清| 日韩午夜在线播放| www国产亚洲精品久久麻豆| 久久青草国产手机看片福利盒子| 26uuu色噜噜精品一区二区| 久久久久久久久久美女| 欧美激情一区二区三区不卡 | 国产精品另类一区| 久久伊99综合婷婷久久伊| 国模娜娜一区二区三区| 99精品欧美一区二区蜜桃免费| 亚洲人被黑人高潮完整版| 亚洲激情图片qvod| 青青草91视频| 国产91高潮流白浆在线麻豆 | 制服丝袜亚洲播放| 日韩精品中文字幕在线不卡尤物| 久久久久久影视| 亚洲精品国产精华液| 天天综合天天做天天综合| 国产伦精品一区二区三区在线观看| 国产成人午夜视频| 欧美理论在线播放| 国产精品系列在线| 日韩电影在线观看电影| 成人黄色在线看| 欧美一区二区三区视频| 欧美一区二区在线看| 亚洲成人久久影院| 国产69精品一区二区亚洲孕妇| 91福利国产精品| 精品区一区二区| 午夜精品福利一区二区三区av| 国产精品一区一区| 欧美日韩成人在线| 亚洲特黄一级片| 国产激情一区二区三区四区| 欧美视频你懂的| 国产精品日日摸夜夜摸av| 午夜精品久久久久久久久久久| 国产a精品视频| 欧美一区二区播放| 亚洲欧美日韩国产综合| 国产高清精品网站| 日韩一区二区在线看片| 亚洲一二三区在线观看| 成人性生交大片免费| 日韩一区二区免费在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美乱妇一区二区三区不卡视频| 欧美激情综合网| 久久国产免费看| 日韩你懂的在线播放| 午夜精品福利一区二区蜜股av| 91网站在线播放| 国产视频一区在线播放| 国产一区二区影院| 日韩欧美中文字幕制服| 午夜av电影一区| 欧美日韩一区二区三区不卡| 国产精品不卡一区二区三区| 国产盗摄女厕一区二区三区| www国产成人| 国产主播一区二区| 久久影音资源网| 成人永久免费视频| 国产精品久久久久久久久搜平片| 久热成人在线视频| 日韩一区二区三区视频在线 | 久久精品日韩一区二区三区| 激情综合网av| 亚洲高清一区二区三区| 91久久人澡人人添人人爽欧美 | 国模少妇一区二区三区| 337p亚洲精品色噜噜噜| 日产精品久久久久久久性色| 欧美一级黄色录像| 麻豆精品视频在线| 亚洲国产成人一区二区三区| 99久久综合色| 亚洲国产另类精品专区| 欧美日韩精品欧美日韩精品| 日本不卡的三区四区五区| 日韩视频一区二区三区在线播放 | 亚洲你懂的在线视频| 在线一区二区三区四区五区| 夜夜嗨av一区二区三区网页| 日韩一区二区三区视频在线| 国产精品自拍三区| 亚洲蜜臀av乱码久久精品蜜桃| 欧美日韩国产综合一区二区三区| 青草av.久久免费一区| 久久久久久久综合色一本| av男人天堂一区| 热久久国产精品| 国产精品乱码人人做人人爱 | 国产免费成人在线视频| 色偷偷久久人人79超碰人人澡| 亚洲1区2区3区视频| 久久久久久夜精品精品免费| 欧美影院午夜播放| 国产美女一区二区| 亚洲精品欧美专区| 欧美精品一区二区久久久| fc2成人免费人成在线观看播放| 国产一区二区三区美女| 一区在线播放视频| 欧美精品vⅰdeose4hd| 国产精品自拍网站| 艳妇臀荡乳欲伦亚洲一区| 亚洲精品一区二区三区精华液| 97久久超碰精品国产| 男女男精品网站| 一区二区三区资源| 久久久久久夜精品精品免费| 欧美精品tushy高清| 91在线精品秘密一区二区| 激情综合色播五月| 日韩精品久久理论片| 亚洲天堂av一区| 中日韩免费视频中文字幕| 日韩精品一区二区三区老鸭窝| 色综合久久久久网| zzijzzij亚洲日本少妇熟睡| 国产最新精品精品你懂的| 日本午夜一本久久久综合| 亚洲中国最大av网站| 国产精品电影一区二区| 精品国产免费视频| 欧美高清在线精品一区| 亚洲国产精品高清| 91精品国产乱码久久蜜臀| 99国产精品久久久久| 岛国精品在线观看| 国产盗摄视频一区二区三区| 久草中文综合在线| 美女免费视频一区| 天天综合日日夜夜精品| 亚洲图片有声小说| 亚洲午夜一区二区| 偷拍一区二区三区四区| 亚洲1区2区3区视频| 日韩制服丝袜av| 欧美aaa在线| 韩日欧美一区二区三区| 国产伦精品一区二区三区免费| 精品亚洲免费视频| 国产精品一二三四区| 福利一区福利二区| 99久久精品99国产精品| eeuss鲁片一区二区三区在线看| 99re热这里只有精品视频| 色偷偷88欧美精品久久久| 欧美性一级生活| 欧美一区二区视频网站| 精品国产免费视频| 日本一区二区电影| 亚洲最新视频在线观看| 欧美a一区二区| 成人小视频在线| 欧美性猛交xxxx乱大交退制版| 制服丝袜中文字幕一区| 久久久99久久精品欧美| 中文字幕一区二区三区不卡在线 | 精品系列免费在线观看| 亚洲午夜免费电影| 国产一区二区三区在线看麻豆| www.亚洲免费av| 91 com成人网| 国产三级精品视频| 亚洲成人7777| 国内精品在线播放| 欧美亚洲丝袜传媒另类| 欧美大胆一级视频| 亚洲视频精选在线| 久久精品国产久精国产爱| 粉嫩一区二区三区性色av| 91国偷自产一区二区使用方法| 91精品欧美一区二区三区综合在 | 国产91富婆露脸刺激对白| 欧美无砖砖区免费| 国产亚洲一区二区在线观看| 一区二区三区色| 国产成人精品免费一区二区| 91免费看片在线观看| 精品久久久久99| 亚洲一区二区三区视频在线| 国产精品正在播放| 91精品国产综合久久香蕉麻豆 | 香蕉加勒比综合久久| 床上的激情91.| 日韩欧美国产1| 亚洲国产乱码最新视频| 91在线视频在线| 久久精品夜夜夜夜久久|