菜单
  

    返回说明

    正常情况下,JSON数据包:

    {"access_token":"ACCESS_TOKEN","expires_in":7200}

    图3-2  token成功返回参数图

    错误时JSON数据包举例:

    {"errcode":40013,"errmsg":"invalid appid"}

    3.2 接收消息接口

    3.2.1 验证消息真实性

    开发中第一次提交验证申请时,微信会发送GET请求到用户提供的URL上,加上(signature、timestamp、nonce、echostr)四个参数,开发时通过对签名(即signature)效验,判断消息真实性。

    然后,每次开发者接收用户消息的时候,微信服务器会带上前面三个参数(signature、timestamp、nonce)访问提供的URL,此时还是通过对签名的效验来判断此条消息是否真实。

    图3-3  验证消息参数图

    本设计检验signature的代码:

            /// <summary>

            /// 验证微信签名

            /// </summary>

            /// <returns></returns>

            /// * 将token、timestamp、nonce三个参数进行字典序排序

            /// * 将三个参数字符串拼接成一个字符串进行sha1加密文献综述

            /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

            private bool CheckSignature()

            {

                string WeChat_Token = "";

                string WeChat_Key = Request.QueryString["key"];

                DataTable dtWeChat = wechatdal.GetList("wechat_key='" + WeChat_Key + "'").Tables[0];

                if (dtWeChat.Rows.Count > 0)

                {

                    WeChat_Token = dtWeChat.Rows[0]["wechat_token"].ToString();

                }

                string signature = Request.QueryString["signature"];

                string timestamp = Request.QueryString["timestamp"];

                string nonce = Request.QueryString["nonce"];

                string[] ArrTmp = { WeChat_Token, timestamp, nonce };

                Array.Sort(ArrTmp);     //字典排序

                string tmpStr = string.Join("", ArrTmp);//串联字符串数组?

                tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");

                tmpStr = tmpStr.ToLower();

                if (tmpStr == signature)

                {

                    return true;

                }

                else

                {

                    return false;

                }

            }

    3.2.2 接收普通消息

    当粉丝向用户的公众账号发消息时,微信将POST消息的XML数据包发送到指定的URL上。各种消息类型推送XML数据包的结构如下:

  1. 上一篇:asp.net+sqlserver酒店管理系统设计与实现+ER图
  2. 下一篇:基于ArcGIS的淮安楚州区城市交通可达性研究
  1. ASP.NET旅游资源管理系统的设计与实现

  2. asp.net物流信息管理系统设计与实现

  3. ASP.NET杂志社投稿及稿件处...

  4. asp.net网络商城在线购物系统的设计与实现

  5. ASP.NET+SQLSERVER古诗词在线学...

  6. asp.net+sqlserver小型超市管理系统的设计+ER图

  7. asp.net+sqlserver在线家电销售网站的设计与实现

  8. 电站锅炉暖风器设计任务书

  9. 河岸冲刷和泥沙淤积的监测国内外研究现状

  10. java+mysql车辆管理系统的设计+源代码

  11. 中考体育项目与体育教学合理结合的研究

  12. 乳业同业并购式全产业链...

  13. 杂拟谷盗体内共生菌沃尔...

  14. 酸性水汽提装置总汽提塔设计+CAD图纸

  15. 当代大学生慈善意识研究+文献综述

  16. 大众媒体对公共政策制定的影响

  17. 十二层带中心支撑钢结构...

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回