微信公众号开发-(.net)

作为一个开发人员,在进行开发微信公众号是,首先需要完成的是服务器配置。也就是常说的开发者接入。

1.登录微信公众平台,选择基本设置

字段说明:AppId:开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。是由微信官方提供,在编写代码最好将其配置在web.config文件中。开发过程中要保证必须和微信官网的一致。

AppSecret:开发者密码是校验公众号开发者身份的密码,具有极高的安全性。是由微信官方提供,在编写代码最好将其配置在web.config文件中。开发过程中要保证必须和微信官网的一致。

Token:开发者自己定义的一个string字段,在编写代码最好将其配置在web.config文件中。开发过程中要保证必须和微信官网的一致。


后台代码如下:

验证微信凭证token:

public static void Valid(string strToken)
        {
            if (HttpContext.Current.Request.QueryString["echoStr"] != null)
            {
                string echoStr = HttpContext.Current.Request.QueryString["echoStr"].ToString();
                if (CheckSignature(strToken))
                {
                    if (!string.IsNullOrEmpty(echoStr))
                    {
                        HttpContext.Current.Response.Write(echoStr);
                        HttpContext.Current.Response.End();
                    }
                }
            }

        }

验证微信签名

public static bool CheckSignature(string strToken)
        {
            string signature = HttpContext.Current.Request.QueryString["signature"].ToString();
            string timestamp = HttpContext.Current.Request.QueryString["timestamp"].ToString();
            string nonce = HttpContext.Current.Request.QueryString["nonce"].ToString();
            string[] ArrTmp = { strToken, timestamp, nonce };
            //1. 将token、timestamp、nonce三个参数进行字典序排序
            Array.Sort(ArrTmp);
            string tmpStr = string.Join("", ArrTmp);
            //对该字符串进行sha1加密
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();//对字符串中的字母部分进行小写转换,非字母字符不作处理
            if (tmpStr == signature)//开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。开发者通过检验signature对请求进行校验,若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败
            {
                return true;
            }
            else
                return false;
        }


webapi:

[HttpGet, HttpPost, Route("index")]
        public void index()
        {
            if (ControllerContext.Request.Method == HttpMethod.Post)
            {
                GetWxMessage();
            }
            else
            {
                string app_token= ConfigurationManager.AppSettings["app_token"].ToString();
                WeiXinHelper.Valid(app_token);
            }
        }

注:记住,在本地调试时,需要将自己的ip地址添加到ip白名单中。ip查询方式是:,如果是部署到服务器上的,需要将服务器的ip地址加入到白名单中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET微信公众号平台系统源码是一种用于构建微信公众号的框架和代码库。它提供了一系列的接口和功能,帮助开发人员快速地搭建和定制自己的微信公众号平台。 该系统源码基于ASP.NET技术开发,结合微信公众号开放平台的接口和功能进行了集成。它提供了一种便捷的方式,让开发人员可以通过编写少量的代码来实现与微信公众号的交互和功能扩展。 ASP.NET微信公众号平台系统源码具备以下特点和功能: 1. 用户管理:能够管理微信公众号的用户信息,包括用户的基本信息、关注状态、交互记录等。 2. 消息管理:能够接收和发送微信公众号的消息,包括文本消息、图片消息、语音消息、视频消息等。 3. 菜单管理:能够创建和管理微信公众号的自定义菜单,包括点击菜单、跳转链接、触发推送消息等。 4. 接口管理:能够对接微信公众号开放平台的各种接口,包括获取用户信息、发送模板消息、创建二维码等。 5. 素材管理:能够上传和管理微信公众号的素材,包括图文消息、图片、音频、视频等。 6. 数据统计:能够统计微信公众号的用户活跃度、消息互动情况、菜单点击量等数据。 ASP.NET微信公众号平台系统源码的优势在于它具有良好的扩展性和定制性,开发人员可以根据自己的需求进行二次开发和定制。同时,它也提供了一定的安全机制和权限控制,保障了用户信息和数据的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值