微信简单Demo
2015-03-12 08:03
106 查看
新建一个WxHandler.ashx
public class WxHandler : IHttpHandler { public static string Msg; public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (context.Request.HttpMethod.ToLower().Equals("get")) { context.Response.Write(Msg); //校验 VaildateUrl(); } else { //接受并相应 HandleMsg(); } } private void HandleMsg() { HttpContext context = HttpContext.Current; Stream xmlStream = context.Request.InputStream; XmlDocument doc = new XmlDocument(); doc.Load(xmlStream); XmlElement rootElement = doc.DocumentElement; string toUserName = rootElement.SelectSingleNode("ToUserName").InnerText; string fromUserName = rootElement.SelectSingleNode("FromUserName").InnerText; string msgType = rootElement.SelectSingleNode("MsgType").InnerText; string content = rootElement.SelectSingleNode("Content").InnerText; //Msg = string.Format("{0}--{1}--{2}---{3}",toUserName,fromUserName,msgType,content); string xmlMsg = "<xml>" + "<ToUserName><![CDATA[" + fromUserName + "]]></ToUserName>" + "<FromUserName><![CDATA[" + toUserName + "]]></FromUserName>" + "<CreateTime>" + GetCreateTime() + "</CreateTime>" + "<MsgType><![CDATA[text]]></MsgType>" + "<Content><![CDATA[亲爱的你给我说的是:" + content + ",你说这是什么意思呢?]]></Content></xml>"; Msg = xmlMsg; context.Response.Write(xmlMsg); } private int GetCreateTime() { DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0); return (int)(DateTime.Now - dateStart).TotalSeconds; } private void VaildateUrl() { HttpContext context = HttpContext.Current; string signature = context.Request["signature"]; string timestamp = context.Request["timestamp"]; string nonce = context.Request["nonce"]; string echostr = context.Request["echostr"]; string token = "huang"; string[] temp1 = { token, timestamp, nonce }; Array.Sort(temp1); string temp2 = string.Join("", temp1); string temp3 = FormsAuthentication.HashPasswordForStoringInConfigFile(temp2, "SHA1"); if (temp3.ToLower().Equals(signature)) { context.Response.Write(echostr); } else { context.Response.Write("浏览器打开方式!!"); } } public bool IsReusable { get { return false; } } }
相关文章推荐
- 微信开发学习二 -- 微信开发入门(简单demo)
- iOS 类似微信,QQ聊天界面的气泡聊天简单实现Demo
- 微信sdk超级简单demo
- 微信小程序简单demo
- 微信----简单自动回复功能emoji和文本处理demo
- 微信小程序 简单DEMO布局,逻辑,样式的练习
- 微信登陆 , 简单的demo , java
- 简单http接口对接微信功能DEMO,仅供参考
- 微信小程序 简单DEMO布局,逻辑,样式的练习
- 微信小程序picker组件简单用法示例【附demo源码下载】
- 微信小程序之最简单的Demo设计使用
- 微信简单的登录demo,后台SSH框架供初学者学习
- 调用微信API 的简单demo
- 微信小程序之最简单的Demo设计使用
- 复习微信应用中,php采集简单demo
- jquery之超简单的div显示和隐藏特效demo
- 随便写了个GUI--简单的八皇后DEMO,【转】算法
- MOSS 对象模型的简单开发DEMO
- CSS实现简单的横向排列demo
- Flex RemoteObject 简单应用Demo