自动回复消息-微信公众平台开发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)
{
}
}
自动回复消息-微信公众平台开发4(asp.net)的更多相关文章
- 微信公众平台开发小记(ASP.NET)
微信的好东西,提供了很大的平台去发挥,公司最近推出微信公众账号,也接触了一些东西, 最终决定用asp.net来开发服务端程序. 微信公众平台的API很简单,利用XML来规范格式,并且所有的数据都在CD ...
- 微信公众平台开发教程--方培工作室,PHP语言版本
准备工作 微信公众平台的注册 介绍如何注册一个微信公众账号. 入门教程 微信公众平台开发入门教程 内容:1.申请SAE作为服务器; 2.启用开发模式; 3.微信公众平台PHP SDK; 4.接收发送消 ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十四):请求消息去重
为了确保信息请求消息的到达率,微信服务器在没有及时收到响应消息(ResponseMessage)的情况下,会多次发送同一条请求消息(RequestMessage),包括MsgId等在内的所有文本内容都 ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十五):消息加密
前不久,微信的企业号使用了强制的消息加密方式,随后公众号也加入了可选的消息加密选项.目前企业号和公众号的加密方式是一致的(格式会有少许差别). 加密设置 进入公众号后台的“开发者中心”,我们可以看到U ...
- 第四篇 :微信公众平台开发实战Java版之完成消息接受与相应以及消息的处理
温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众 ...
- 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装
微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者 ...
- C# 微信公众平台开发(4)-- 模版消息
微信公众平台开发 --发送模版消息 发送模版消息是微信服务号给某个用户发送模版消息,类似于APP的推送通知: 1.添加模版消息 在页面的左上 有一个添加功能插件的 按钮,如题 添加完成后,我们就可以在 ...
- 微信公众平台开发,模板消息,网页授权,微信JS-SDK,二维码生成(4)
微信公众平台开发,模板消息,什么是模板消息,模板消息接口指的是向用户发送重要的服务通知,只能用于符合场景的要求中去,如信用卡刷卡通知,购物成功通知等等.不支持广告营销,打扰用户的消息,模板消息类有固定 ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十):使用菜单消息功能
在<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>教程中,我们介绍了如何使用“客服接口”,即在服务器后台,在任意时间向微信发送文本.图文.图片等不 ...
随机推荐
- iOS 微信支付平台集成
https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_5
- 必须会的SQL语句(七)字符串函数、时间函数
字符串函数 1.大小写转换 --upper 转化成大写 --lower 转换成小写 select upper('AsaR') 2.长度 --len 字数 --d ...
- 关于javascript 里面类型的判断
javacript至今共有7中类型 Six data types that are primitives: Boolean Null Undefined Number String Symbol (n ...
- CSS让div背景透明
div背景透明样式: 样式代码: .alert{filter:alpha(opacity=100); /* IE */ -moz-opacity:1.0; /* Moz + FF */ opacity ...
- android自定义控件实现TextView按下后字体颜色改变
今天跟大家分享一下Android自定义控件入门,先介绍一个简单的效果TextView,按下改变字体颜色,后期慢慢扩展更强大的功能 直接看图片 第一张是按下后截的图,功能很简单, ...
- DIV JS CSS 轻量级弹出层 兼容各浏览器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- python实现决策树
1.决策树的简介 http://www.cnblogs.com/lufangtao/archive/2013/05/30/3103588.html 2.决策是实现的伪代码 “读入训练数据” “找出每个 ...
- [转]Openwrt的Inittab
转来一篇关于启动的文章,特意收藏.http://see.sl088.com/wiki/Inittab 文件位于/etc/inittab编辑方法vi /etc/inittab初始内容::sysinit: ...
- JForum二次开发(一)
1.环境 myeclipse2014,jdk7,tomcat8,mysql5.6 2.下载源码地址 http://jforum.net/download.jsp 3.导入源码 新建web工程JForu ...
- Python学习教程(learning Python)--1.2.3 Python格式化输出百分比
在有些情况下,需要百分比输出数据,我们可以继续使用Python内建函数format来实现百分比的数据输出. >>> print(format(0.5236, '.2%')) 其结果如 ...