zoukankan      html  css  js  c++  java
  • 微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码


    微信开发中,首先遇到的问题就是处理怎样接收和响应用户消息 , 本文将向大家介绍一下方法和关键的代码。

    本文使用的接口库是  https://github.com/chendong152/Weixin_api_.net 很感谢 TD的作者


    ASP.NET开发的  接收微信消息和响应用户消息代码例如以下:

    文件名称 :  v.ashx

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Xml;
    using Td.Weixin.Public.Common;
    using Td.Weixin.Public.Message;
    
    namespace WeiWeiXin.Net6
    {
        /// <summary>
        /// v 的摘要说明
        /// </summary>
        public class v : IHttpHandler
        {
    
            /// <summary>
            ///    开发人员 验证 模块
            /// </summary>
            /// <param name="context"></param>
            public bool ProcessRequest2(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                //  context.Response.Write("Hello World");
                try
                {
                    string echoStr = context.Request["echoStr"]; 
                    if (!string.IsNullOrEmpty(echoStr))
                    {
                        context.Response.Write(echoStr);
                        return true;
                    }
                    else
                    {
                        // context.Response.Write("end");
                        //   context.Response.End();
                    }
                }
                catch (Exception e)
                {
                    //   context.Response.Write("end" + e.Message + e.ToString());
                    // context.Response.End();
                }
                return false;
            }
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                //假设 是 验证  则 直接 退出 
                if (ProcessRequest2(context))
                    return;
    
                context.Response.ContentType = "text/plain";
                var m = ReceiveMessage.ParseFromContext();
    
                if (m == null)
                    return;
    
                //被关注
                if (m.MsgType == MessageType.Event && m.InnerToXmlText().IndexOf("subscribe") >= 0)
                {       
                    //发送AIML请求
                    var r2 = m.GetTextResponse();
                    string result = "[微笑]欢迎关注";  
                    r2.Data = (TextMsgData)result;
                    r2.Response();
                    return;
                }
    
                //数据解析
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(m.ToXmlText());//"<xml><description><![CDATA[木子屋:http://www.mzwu.com/]]></description></xml>");
    
                //菜单 或者 用户文本输入
                if (m.MsgType == MessageType.Text || (m.MsgType == MessageType.Event && m.InnerToXmlText().IndexOf("subscribe") < 0))
                {
                    //读取
                    string rr = "";
    
                    if (m.MsgType == MessageType.Text)
                    {
                        rr = xmlDoc.SelectSingleNode("//Content").FirstChild.InnerText.ToLower().Trim();
                    }
                    else
                    {
                        rr = xmlDoc.SelectSingleNode("//EventKey").FirstChild.InnerText.ToLower().Trim();
                    }
                   
                    //发送 
                    var r2 = m.GetTextResponse();
                    string result = "欢迎使用,您发送的是:" +rr;//  
                    r2.Data = (TextMsgData)result;
                    r2.Response();
                    return;
                }
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }

    这段代码中具有开发人员验证的功能,同一时候也考虑到了 由菜单发送到平台的文本的接收和响应。



    最后 广告一下 : 完整的 微微信.NET 能够在这里找到  udoo123.taobao.com

  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5335773.html
Copyright © 2011-2022 走看看