目录

1. 使用.net 操作 微信公众平台 —— 接入

2. 使用.net 操作 微信公众平台 —— 生成微信菜单

3. 使用.net 操作 微信公众平台 —— 接收并回复用户消息

3.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 详细解析

3.1.1 使用.net 操作 微信公众平台 —— 接收用户操作 —— 关注/取消关注 公众号

3.1.2 使用.net 操作 微信公众平台 —— 接收用户操作 —— 接收用户发送的消息

3.2 使用.net 操作 微信公众平台 —— 回复用户消息

3.2.1 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复文本消息

3.2.2 使用.net 操作 微信公众平台 —— 回复用户消息 —— 回复图片消息

4. 使用.net 操作 微信公众平台 —— 第三方登录​​​​​​​


关注回复

1. 回到之前的 CheckWxToken.aspx,将验证的代码注释

// 验证的代码
//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))
//        {
//            Response.End();
//        }
//    }
//    else
//    {
//        Valid();
//    }
//}// 正常使用的代码
protected void Page_Load(object sender, EventArgs e)
{
}

2.  接收信息

 // 正常使用的代码 验证时注释
protected void Page_Load(object sender, EventArgs e)
{if (Request.HttpMethod == "POST"){string weixin = "";weixin = PostInput();//获取xml数据}
}/// <summary>
/// 获取post请求数据
/// </summary>
/// <returns></returns>
private string PostInput()
{Stream s = System.Web.HttpContext.Current.Request.InputStream;byte[] b = new byte[s.Length];s.Read(b, 0, (int)s.Length);return Encoding.UTF8.GetString(b);
}

3. 打印weixin,即可查看具体消息

4. 将获取到的xml数据,转换为json,方便操作

ExmlMsg xmlMsg = Fromat(weixin);/// <summary>
/// 格式化xml数据
/// </summary>
/// <param name="weixin">xml数据</param>
/// <returns></returns>
private ExmlMsg Fromat(string weixin) {XmlDocument doc = new XmlDocument();doc.LoadXml(weixin);//读取xml字符串XmlElement root = doc.DocumentElement;ExmlMsg xmlMsg = GetExmlMsg(root);return xmlMsg;
}/// <summary>
/// 格式化
/// </summary>
/// <param name="root"></param>
/// <returns></returns>
private ExmlMsg GetExmlMsg(XmlElement root)
{ExmlMsg xmlMsg = new ExmlMsg(){FromUserName = root.SelectSingleNode("FromUserName").InnerText,ToUserName = root.SelectSingleNode("ToUserName").InnerText,CreateTime = root.SelectSingleNode("CreateTime").InnerText,MsgType = root.SelectSingleNode("MsgType").InnerText,};if (xmlMsg.MsgType.Trim().ToLower() == "text"){xmlMsg.Content = root.SelectSingleNode("Content").InnerText;}else if (xmlMsg.MsgType.Trim().ToLower() == "event"){xmlMsg.EventName = root.SelectSingleNode("Event").InnerText;}if (root.SelectSingleNode("EventKey") != null){xmlMsg.EventKey = root.SelectSingleNode("EventKey").InnerText;}return xmlMsg;
}/// <summary>
/// 接收到的实体类
/// </summary>
private class ExmlMsg
{/// <summary>/// 本公众账号/// </summary>public string ToUserName { get; set; }/// <summary>/// 用户账号/// </summary>public string FromUserName { get; set; }/// <summary>/// 发送时间戳/// </summary>public string CreateTime { get; set; }/// <summary>/// 发送的文本内容/// </summary>public string Content { get; set; }/// <summary>/// 消息的类型/// </summary>public string MsgType { get; set; }/// <summary>/// 事件名称/// </summary>public string EventName { get; set; }/// <summary>/// 事件关键词/// </summary>public string EventKey { get; set; }
}

5. 处理xml

ResponseMsg(xmlMsg);/// <summary>
/// 消息类型适配器
/// </summary>
/// <param name=""></param>
private void ResponseMsg(ExmlMsg xmlMsg)
{string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。try{switch (messageType){case "text": // 当消息为文本时break;case "event": // 事件break;case "image":break;case "voice":break;case "vedio":break;case "location":break;case "link":break;default:break;}}catch (Exception){}
}

使用.net 操作 微信公众平台 —— 接收用户操作相关推荐

  1. 使用.net 操作 微信公众平台 —— 接收用户操作 —— 关注/取消关注 公众号

    目录 1. 使用.net 操作 微信公众平台 -- 接入 2. 使用.net 操作 微信公众平台 -- 生成微信菜单 3. 使用.net 操作 微信公众平台 -- 接收并回复用户消息 3.1 使用.n ...

  2. 使用.net 操作 微信公众平台 —— 接收用户操作 —— 接收用户发送的消息

    目录 1. 使用.net 操作 微信公众平台 -- 接入 2. 使用.net 操作 微信公众平台 -- 生成微信菜单 3. 使用.net 操作 微信公众平台 -- 接收并回复用户消息 3.1 使用.n ...

  3. 使用.net 操作 微信公众平台 —— 第三方登录

    目录 1. 使用.net 操作 微信公众平台 -- 接入 2. 使用.net 操作 微信公众平台 -- 生成微信菜单 3. 使用.net 操作 微信公众平台 -- 接收并回复用户消息 4. 使用.ne ...

  4. 微信公众平台开发 mysql_微信公众平台开发数据库操作

    一.简介 前面讲解的功能开发都是简单的调用API 完成的,没有对数据库进行操作.在接下来的高级功能开发中,需要使用到数据库,所以在这一篇中,将对MySQL 数据库的操作做一下简单的介绍,以供读者参考. ...

  5. .net 实现微信公众平台的用户信息获取

    public string getSubUserFkId()         {             log.Info("开始去微信服务器获取关注用户信息!");//大家可以把 ...

  6. 微信公众平台 获取用户列表

    一.接口说明 公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成.一次拉取调用最多拉取10000个关注者的Open ...

  7. java微信公众号中文乱码,java微信公众平台获取用户信息中文乱码解决办法(第十五课)...

    开发者在开发微信公众平台的时候,往往需要获取关注公众号的基本用户信息,其中信息中含有中文,但是根据微信官方文档,调用接口返回的用户json字符串信息中含有中文乱码,我们先来看看接口调用地址. 参数描述 ...

  8. 微信公众号生成文本到服务器,使用Golang开发微信公众平台-接收文本消息

    一旦接入验证成功,成为正式开发者,你可能会迫不及待地想通过手机微信发送一条"Hello, Wechat"到你的公众号服务器.不过上一篇的那个程序还无法处理手机提交的文本消息,本篇将 ...

  9. php 微信公众号 数据库设计,微信公众平台开发 - 数据库操作_PHP教程

    configure.php 文件内容 测试使用: 执行成功. 五.修改成可调用的函数形式(PHP MySQL) 5.1 创建数据表 //创建一个数据库表 function _create_table( ...

最新文章

  1. MyEclipse设置默认的文档注释和背景色设置
  2. 类 或 对象 的一些小点 【仅记录,方便以后查阅】
  3. mysql 4604,mysql--centos(7)安装
  4. Linux下修改PATH的方法
  5. 线段中点到另一直线距离最短_圆弧与线段的最短距离
  6. 树莓派4B之Windows XP系统安装游戏(二)
  7. VB与数据库连接方式
  8. U盘插入电脑有提示声,不识别(不显示大容量存储设备)
  9. 致远项目管理SPM系统五大技术平台层-CMP能力概述
  10. 计算机桌面去方格子,win7桌面office图标变成白色方格图标的原因和解法
  11. NeoKylin(中标麒麟)6.5 更新yum源
  12. 理解什么叫管理vlan与业务VLAN,理解DTP及trunk的配置
  13. 【那些年我们一起看过的论文】之《Handwritten Digit Recognition with a Back-Propagation Network》
  14. 转载 java基础题(面试必知)
  15. 04-Kubernetes 创建资源
  16. 机器学习中的编码器-解码器结构哲学
  17. facebook 添加好友_如何对Facebook帖子添加不同的React(如心脏或表情符号)
  18. 数学中说的线性关系线性是什么意思?
  19. 个人python练习
  20. ssm毕设项目快递代收系统00pay(java+VUE+Mybatis+Maven+Mysql+sprnig)

热门文章

  1. Elastic 认证考试团购报名第四季
  2. 这是一个关于女码农减肥的思考
  3. 移动电力猫HG260GT pon实现路由拨号
  4. 第八章 我国农村商品流通
  5. 冥冥中的感觉,是梦非梦
  6. Vision Transformer 综述
  7. springboot中的事务
  8. 【Web前端HTML5CSS3】——CSS语法与选择器(超级全面)
  9. Spark大数据技术与应用 第一章Spark简介与运行原理
  10. 编程是一种美德,是促使一个人不断向上发展的一种原动力