zoukankan      html  css  js  c++  java
  • 自动回复消息-微信公众平台开发4(asp.net)

    接着上一节的processRequest 处理函数,代码如下:

        /// <summary>
        /// 处理微信发来的请求
        /// </summary>
        /// <param name="xml"></param>
        public void processRequest(String xml,HttpContext context)
        {
            try
            {
                //context.Response.Write("文本消息响应成功,返回源码"+xml);
                // xml请求解析  
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);
                XmlElement root = doc.DocumentElement;
                
                // 发送方帐号(open_id)  
                string FromUserName = root.SelectSingleNode("FromUserName").InnerText;
                // 公众帐号  
                string ToUserName = root.SelectSingleNode("ToUserName").InnerText;
                // 消息类型  
                string msgType = root.SelectSingleNode("MsgType").InnerText;
                switch (msgType)
                {
                    case "text": //文本消息
                    //这个注释的是自动回复文本消息
                        //context.Response.Write("<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString() + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[你好啊,wo de keai]]></Content></xml>");  
                        //这个是自动回复图文消息
                        context.Response.Write("<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString() + "</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>2</ArticleCount><Articles><item><Title><![CDATA[标题1]]></Title> <Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_360_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item><item><Title><![CDATA[我是标题2,标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2]]></Title><Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_200_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item></Articles></xml>");
                        break;
                    case "image": //图片消息
                        context.Response.Write("图片消息响应成功");
                        break;
                    case "voice": //语音消息
                        context.Response.Write("语音消息响应成功");
                        break;
                    case "video"://视频消息
                        context.Response.Write("视频消息响应成功");
                        break;
                    case "location"://地理位置消息
                        context.Response.Write("地理位置响应成功");
                        break;
                    case "link": //链接消息
                        context.Response.Write("链接消息响应成功");
                        break;
                    case "event": //事件消息   Event 关注:subscribe   取消关注:unsubscribe
                        string Event = root.SelectSingleNode("Event").InnerText;
                        if (Event == "subscribe") //关注事件
                        {
                            //context.Response.Write("关注成功!");
                            context.Response.Write("<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString() + "</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>2</ArticleCount><Articles><item><Title><![CDATA[标题1]]></Title> <Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_360_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item><item><Title><![CDATA[我是标题2,标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2]]></Title><Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_200_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item></Articles></xml>");
                        }
                        else if (Event == "unsubscribe") //取消关注事件
                        {
                            context.Response.Write("取消关注成功!");
                        }
                        break;
                }


            }
            catch (Exception e)
            {

            }
        }

  • 相关阅读:
    【python小随笔】单例模式设计(易懂版)
    【python小随笔】函数的初始化与私有化
    【python小随笔】List列表的常见函数与切片
    【itsdangerous】的加密解密原理(易懂版)
    【Django入坑之路】Django后台上传图片,以及前端的显示
    【插拔式】分页+bootstrap4(开源)
    luogu P1231 教辅的组成 |网络流最大匹配
    luogu P3376 【模板】网络最大流 |Dinic
    luogu P4177 [CEOI2008]order |最大权闭合子图
    luogu P4562 [JXOI2018]游戏 |组合数学
  • 原文地址:https://www.cnblogs.com/feijian/p/3586158.html
Copyright © 2011-2022 走看看