小潘杂谈

C#开发微信公众号与订阅号接口的实例详解

字号+ 作者:admin 来源:seo博客 2020-09-17 15:00 我要评论( )

本文实例讲述了C#微信公众号与订阅号接口开发示例代码。分享给大家供大家参考,具体如下:using System;using System.Web;using System.IO;using System.Text;usin......

本文实例讲述了C#微信公众号与订阅号接口开发示例代码。分享给大家供大家参考,具体如下:using System;using System.Web;using System.IO;using System.Text;using System.Web.Security;using weixin_api;public class wxgz_api : IHttpHandler{public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/plain";string postString = string.Empty;if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST"){//微信服务器对接口消息using (Stream stream = HttpContext.Current.Request.InputStream){Byte[] postBytes = new Byte[stream.Length];stream.Read(postBytes, 0, (Int32)stream.Length);postString = Encoding.UTF8.GetString(postBytes);Handle(postString);}}else{//微信进行的Get测试(开发者认证)WxAuth();}}/// <summary>/// 处理信息并应答/// </summary>private void Handle(string postStr){messageHelp help = new messageHelp();string responseContent = help.ReturnMessage(postStr);HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;HttpContext.Current.Response.Write(responseContent);}#region 微信验证public void WxAuth(){string token = "xxxxxxxx";if (string.IsNullOrEmpty(token)){return;}string echoString = HttpContext.Current.Request.QueryString["echostr"];string signature = HttpContext.Current.Request.QueryString["signature"];string timestamp = HttpContext.Current.Request.QueryString["timestamp"];string nonce = HttpContext.Current.Request.QueryString["nonce"];if (CheckSignature(token, signature, timestamp, nonce)){if (!string.IsNullOrEmpty(echoString)){HttpContext.Current.Response.Write(echoString);HttpContext.Current.Response.End();}}}/// <summary>/// 验证微信签名/// </summary>public bool CheckSignature(string token, string signature, string timestamp, string nonce){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;}}#endregionpublic bool IsReusable{get{return false;}}}以上就是C#开发微信公众号与订阅号接口的实例详解的详细内容,更多请关注小潘博客其它相关文章!

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。转载请注明seohttp://www.hkxiaopan.com

网友点评
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
精彩导读