婷婷综合国产,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
    午夜精品视频一区| 国产精品美女久久久久久2018| 99re这里只有精品首页| 国产一区激情在线| 免费在线成人网| 蜜臀av一区二区在线观看| 日韩中文字幕区一区有砖一区| 亚洲大片精品永久免费| 亚洲成人自拍一区| 性感美女久久精品| 日本一不卡视频| 玖玖九九国产精品| 国产激情一区二区三区四区| 成人激情小说乱人伦| 99re免费视频精品全部| 色欧美88888久久久久久影院| av高清不卡在线| 在线观看精品一区| 欧美电影在线免费观看| 欧美大片拔萝卜| 国产欧美日韩三级| 一区二区在线电影| 免费观看一级特黄欧美大片| 日韩av二区在线播放| 国内偷窥港台综合视频在线播放| 国产精品一区专区| 91丨porny丨户外露出| 欧美色综合网站| 日韩区在线观看| 精品国一区二区三区| 中文字幕一区二区三区在线不卡 | 黑人精品欧美一区二区蜜桃| 激情五月婷婷综合| 色哟哟精品一区| 日韩精品资源二区在线| 综合久久国产九一剧情麻豆| 日韩国产精品大片| 91亚洲男人天堂| 精品国产污网站| 亚洲黄色片在线观看| 精品中文av资源站在线观看| 国产99精品在线观看| 欧美www视频| 成人在线视频一区| 69久久夜色精品国产69蝌蚪网| 欧美日韩国产成人在线免费| 精品乱码亚洲一区二区不卡| 一区二区视频在线| 国产精品一卡二卡在线观看| 色婷婷综合久久| 久久久精品欧美丰满| 亚洲小说欧美激情另类| 国产大陆亚洲精品国产| 欧美日韩精品高清| 亚洲日本青草视频在线怡红院| 欧美日韩精品电影| 国产欧美一区二区精品久导航 | 欧美亚洲国产bt| 国产欧美一区二区精品秋霞影院 | 日韩视频一区二区三区在线播放| 中文字幕亚洲精品在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美性生交片4| 亚洲天堂成人网| 福利电影一区二区| 久久免费电影网| 六月丁香综合在线视频| 欧美美女直播网站| 一区二区三区欧美在线观看| 成人高清免费观看| 欧美国产日韩精品免费观看| 国产成人午夜片在线观看高清观看| 91精品麻豆日日躁夜夜躁| 爽好久久久欧美精品| 欧美日本不卡视频| 亚洲国产美国国产综合一区二区| jvid福利写真一区二区三区| 国产精品毛片大码女人| 国产精一区二区三区| 久久精品综合网| 不卡一二三区首页| 亚洲欧美精品午睡沙发| 91女人视频在线观看| 亚洲综合久久久| 337p亚洲精品色噜噜狠狠| 日本怡春院一区二区| 欧美精品一区视频| 国产成a人无v码亚洲福利| 欧美国产日韩精品免费观看| aaa亚洲精品| 亚洲制服丝袜av| 在线91免费看| 蜜臀av国产精品久久久久| 精品成人一区二区三区四区| 国产91精品在线观看| 亚洲欧美福利一区二区| 欧美日韩国产另类一区| 久久电影网站中文字幕| 国产视频在线观看一区二区三区| jizz一区二区| 天天综合天天做天天综合| 日韩美女一区二区三区| av日韩在线网站| 午夜精品影院在线观看| 337p日本欧洲亚洲大胆精品| av一二三不卡影片| 日本美女视频一区二区| 国产香蕉久久精品综合网| 欧洲精品在线观看| 国产一区三区三区| 亚洲专区一二三| 日韩一区二区电影网| aa级大片欧美| 欧美aaaaa成人免费观看视频| 久久女同互慰一区二区三区| 欧美最新大片在线看| 国产久卡久卡久卡久卡视频精品| 亚洲一区二区欧美| 中文字幕第一区| 欧美一区二区免费| 91亚洲国产成人精品一区二三| 日韩高清在线一区| 亚洲一区二区五区| 综合久久国产九一剧情麻豆| 精品日韩在线观看| 欧美日产在线观看| 91国偷自产一区二区开放时间| 激情欧美一区二区| 日本中文字幕不卡| 亚洲一区二区三区爽爽爽爽爽| 国产精品日日摸夜夜摸av| 欧美一区二区三区在线观看| 99久久免费视频.com| 丁香六月久久综合狠狠色| 激情综合网最新| 麻豆91在线看| 视频一区免费在线观看| 亚洲一区二区高清| 亚洲精品国产成人久久av盗摄| 久久精品欧美日韩精品| 精品国产一区二区三区不卡 | 日韩一级二级三级精品视频| 日本精品一区二区三区高清| a4yy欧美一区二区三区| 国产成人综合在线观看| 韩国成人福利片在线播放| 麻豆高清免费国产一区| 久久国产精品72免费观看| 日本视频一区二区| 日本麻豆一区二区三区视频| 日韩精品久久久久久| 午夜a成v人精品| 午夜伦欧美伦电影理论片| 午夜视频一区在线观看| 天天影视色香欲综合网老头| 亚洲国产精品视频| 首页国产丝袜综合| 免费观看一级特黄欧美大片| 久久精品国产一区二区三| 久久99精品久久久久久久久久久久 | 国产精品白丝av| 国产一区二区三区美女| 成人小视频在线| 91香蕉视频在线| 欧美日韩一区小说| 日韩一区二区在线观看视频| 欧美刺激脚交jootjob| 精品99一区二区| 成人欧美一区二区三区小说| 中文字幕色av一区二区三区| 亚洲精品福利视频网站| 日韩国产在线观看| 国内一区二区在线| 色综合久久久久| 91精品福利在线一区二区三区| 久久亚洲免费视频| 亚洲色图欧美激情| 日本女人一区二区三区| 岛国av在线一区| 欧美影院一区二区| 精品国产99国产精品| 国产精品国产自产拍高清av| 亚洲一级电影视频| 精品一区二区三区视频| 97精品久久久久中文字幕 | 91丨九色丨蝌蚪丨老版| 欧美夫妻性生活| 国产精品免费久久久久| 亚洲国产va精品久久久不卡综合| 六月丁香婷婷色狠狠久久| 成人精品视频网站| 日韩欧美久久一区| 中文字幕在线不卡国产视频| 视频在线观看国产精品| 成人做爰69片免费看网站| 91精品久久久久久蜜臀| 亚洲美女淫视频| 粉嫩aⅴ一区二区三区四区五区 | 色婷婷狠狠综合| 久久亚洲一级片|