最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题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关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

微信公众平台开发之认证"成为开发者".Net代码解析

来源:动视网 责编:小采 时间:2020-11-27 22:37:02
文档

微信公众平台开发之认证"成为开发者".Net代码解析

微信公众平台开发之认证成为开发者.Net代码解析:.Net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下 这些代码也就开始认证的时候用一次,以后就不用了: const string Token = XXXXX;//你的token protected void Page_Load(object sender, EventArgs
推荐度:
导读微信公众平台开发之认证成为开发者.Net代码解析:.Net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下 这些代码也就开始认证的时候用一次,以后就不用了: const string Token = XXXXX;//你的token protected void Page_Load(object sender, EventArgs


.Net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下

这些代码也就开始认证的时候用一次,以后就不用了:

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> 
/// 验证微信签名 
/// </summary> 
/// * 将token、timestamp、nonce三个参数进行字典序排序 
/// * 将三个参数字符串拼接成一个字符串进行sha1加密 
/// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 
/// <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> 
/// 写日志(用于跟踪) 
/// </summary> 
private void WriteLog(string strMemo) 
{ 
 string filename = Server.MapPath("/logs/log.txt"); 
 if (!Directory.Exists(Server.MapPath("//logs//"))) 
 Directory.CreateDirectory("//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(); 
 } 
} 

文档

微信公众平台开发之认证"成为开发者".Net代码解析

微信公众平台开发之认证成为开发者.Net代码解析:.Net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下 这些代码也就开始认证的时候用一次,以后就不用了: const string Token = XXXXX;//你的token protected void Page_Load(object sender, EventArgs
推荐度:
标签: 微信 订阅号 开发
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top