《C#微信支付体系(四)-接收 / 重返文本音信》

《C#微信支付体系(四)-接收 / 重返文本音信》

requestXML是笔者独立创造的3个类,该类证明了音信中常用的品质字段,如下:

 

 1 /// <summary>
 2 /// 接受文本消息并回复自定义消息
 3 /// </summary>
 4 /// <param name="xmldoc"></param>
 5 /// <returns></returns>
 6 public string TextHandle(XmlDocument xmldoc)
 7 {
 8  string responseContent = "";
 9  XmlNode ToUserName = xmldoc.SelectSingleNode("/xml/ToUserName");
10  XmlNode FromUserName = xmldoc.SelectSingleNode("/xml/FromUserName");
11  XmlNode Content = xmldoc.SelectSingleNode("/xml/Content");
12  if (Content != null)
13  {
14    if (Content.InnerText == "指定回复消息的自定义文本")
15    {
16      responseContent = string.Format(XMLTemplate.Message_Text,
17        FromUserName.InnerText,
18        ToUserName.InnerText,
19        DateTime.Now.Ticks,
20        "自定义回复消息内容");
21    }
22  }
23  return responseContent;
24 }
<xml><ToUserName><![CDATA[gh_public_member_account]]></ToUserName>
<FromUserName><![CDATA[oNEGGwGfl8f5xMEqVHToL63LDL40]]></FromUserName>
<CreateTime>1444035882</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>28.701618</Latitude>
<Longitude>115.818817</Longitude>
<Precision>30.000000</Precision>
</xml>

 SendWelComeMsg(requestXML);//关切时重回的图像和文字新闻

回到文本音讯数据包参数表达:

《C#微信支付类别(Top)-微信开垦全部学习路径》

取得地点消息步骤

你可能感兴趣的稿子:

  • .NET微信公众号
    用户分组管理
  • asp.net微信支付(用户分组管理)
  • 微信支付(一) asp.net接入
  • asp.net微信支付(恒久素材处理)
  • asp.net微信支付(高等群发图像和文字)
  • asp.net微信支付(高级群发文本)
  • asp.net微信支付(已关怀用户管理)
  • asp.net微信支付(开辟者接入)
  • asp.net开采微信公众平台之获得用户新闻并管理
  • ASP.NET微信公众号之用户分组管理web页面

 POST到开拓者服务器上面的XML格式为:

开采者在融洽服务器下边接收微信服务器POST过来的XML数据包接收代码如下:

  1. weiPHP地理地方音讯音信管理。

  2. 安顿微信服务号支付接口

 /// <summary>
 /// 发送文本
 /// </summary>
 /// <param name="requestXML"></param>
 private void SendTextCase(RequestXML requestXML)
 {
  string responseContent = FormatTextXML(requestXML.FromUserName, requestXML.ToUserName, requestXML.Content);

  HttpContext.Current.Response.ContentType = "text/xml";
  HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
  HttpContext.Current.Response.Write(responseContent);
  HttpContext.Current.Response.End();
 }

重临文本信息的XML格式: 

假诺你对《C#微信支付类别》那一个类别感兴趣的话,能够关注本人的任何作品(持续立异中…),体系随笔地址如下:

原理

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
<MsgId>1234567890123456</MsgId>
</xml>

图片 1

 

开拓者中央 -> 获取用户地理地点

 图片 2

 

《C#微信支付类别(四)-接收 /
再次来到文本音讯》

图片 3

<xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[image]]></MsgType>
 <PicUrl><![CDATA[this is a url]]></PicUrl>
 <MediaId><![CDATA[media_id]]></MediaId>
 <MsgId>1234567890123456</MsgId>
 </xml>
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
</xml>

ReturnMessage()管理方法代码如下:

上面通过给我们介绍微信服务号获取用户地方音信的规律与步骤。

  • 一、关于重试的消息排重,推荐应用msgid排重。
  • 二、微信服务器在5秒内收不到响应会断掉连接,并且重新发起呼吁,总共重试三回。假设服务器不可能确认保证在5秒内部管理理并回涨,能够平昔过来空串,微信服务器不会对此作别的管理,并且不会倡导重试。实际情况请见“发送新闻-被动回复新闻”。
  • 三、为了保障更加高的安全保持,开辟者能够在公众平台官方网站的开荒者中央处设置音讯加密。开启加密后,用户发来的新闻会被加密,公众号被动回复用户的消息也急需加密(但开荒者通过客服接口等API调用方式向用户发送信息,则不受影响)。关于新闻加解密的详细说明,请见“新闻加解密表达”。

注意点:

 

参数表明:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[shortvideo]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<ThumbMediaId><![CDATA[thumb_media_id]]></ThumbMediaId>
<MsgId>1234567890123456</MsgId>
</xml>

《C#微信支付体系(Top)-微信开拓全部学习路径》


  1. 职位音讯获得流程

各音信类型的推送XML数据包结构如下:
文本音信

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName> 
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[this is a test]]></Content>
 <MsgId>1234567890123456</MsgId>
 </xml>

当普通微信用户向公众账号发音讯时,微信服务器将POST音信的XML数据包到开拓者填写的U途胜L上,起头开荒此前先行阅读微信公众平台接受普通新闻微信支付文书档案,对微信的这种新闻管理机制有必然了然之后再发轫开荒(微信支付接收普通新闻开拓文书档案)

将xml音信转化为php数组,然后抽取经纬度新闻,以备使用。

语音讯息

比方你对《C#微信支付连串》这几个连串感兴趣的话,可以关切自个儿的任何小说(持续创新中…),类别小说地址如下:

《C#微信支付种类(3)-获取接口调用凭据》

  1. 职分音讯报文
 /// <summary>
 /// 返回图文消息主体
 /// </summary>
 public static string Message_News_Main
 {
 get
 {
 return @"<xml>
  <ToUserName><![CDATA[{0}]]></ToUserName>
  <FromUserName><![CDATA[{1}]]></FromUserName>
  <CreateTime>{2}</CreateTime>
  <MsgType><![CDATA[news]]></MsgType>
  <ArticleCount>{3}</ArticleCount>
  <Articles>
  {4}
  </Articles>
  </xml> ";
 }
 }
 /// <summary>
 /// 返回图文消息项
 /// </summary>
 public static string Message_News_Item
 {
 get
 {
 return @"<item>
  <Title><![CDATA[{0}]]></Title> 
  <Description><![CDATA[{1}]]></Description>
  <PicUrl><![CDATA[{2}]]></PicUrl>
  <Url><![CDATA[{3}]]></Url>
  </item>";
 }
 }

 /// <summary>
 /// 发送响应语音识别结果
 /// </summary>
 /// <param name="requestXML"></param>
 private void SendVoiceMsg(RequestXML requestXML)
 {
 string responseContent = FormatTextXML(requestXML.FromUserName, requestXML.ToUserName, "您刚才说的语音消息识别结果为:" + requestXML.Recognition.ToString());
 HttpContext.Current.Response.ContentType = "text/xml";
 HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
 HttpContext.Current.Response.Write(responseContent);
 HttpContext.Current.Response.End();
 }
 1 if(IsPostBack)
 2 { 
 3   //*********************************自动应答代码块*********************************
 4   string postString = string.Empty;
 5   using (Stream stream = HttpContext.Current.Request.InputStream)
 6   {
 7     Byte[] postBytes = new Byte[stream.Length];
 8     stream.Read(postBytes, 0, (Int32)stream.Length);
 9     //接收的消息为GBK格式
10     postString = Encoding.GetEncoding("GBK").GetString(postBytes);
11     string responseContent = help.ReturnMessage(postString );
12     //返回的消息为UTF-8格式
13     HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
14     HttpContext.Current.Response.Write(responseContent);
15   }
16   //********************************自动应答代码块end*******************************
17 }

 接收音信数据包参数表明:

微信服务器将会把用户与微信之间的相互事件信息,通过此接口推送给SP服务器。

链接消息

当普通微信用户向群众账号发音信时,微信服务器将POST音讯的XML数据包到开辟者填写的U奥迪Q5L上,初阶开垦以前先行阅读微信公众平台接受普通新闻微信支付文书档案,对微信的这种音讯管理体制有一定领会之后再入手开拓(微信支付接收普通音信开荒文书档案)

1接到/重回文本音信原理表达

您也许感兴趣的稿子:

  • asp.net微信支付(已关心用户管理)
  • asp.net微信支付(高档群发文本)
  • asp.net微信支付(长久素材管理)
  • ASP.NET微信支付(接口指南)
  • JavaScript地理地方音信API
  • 微信公众平台支付之发送文书音讯.Net代码分析
  • 微信公众平台开拓之语音识别.Net代码深入分析
  • .Net微信支付之怎样消除access_token过期难点
  • 微信公众平台开拓之发送图像和文字新闻.Net代码深入分析
  • 微信公众平台支付之地理地点.Net代码深入分析

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图