zoukankan      html  css  js  c++  java
  • .NET微信开发 配置微信公众号基本配置的几种方法

          自己最近搞了公众号,记录一下。

    目的就是为了在微信公众号里启用服务器配置。 微信文档

     其实微信文档已经写得很清楚了,也很简单。(微信的目的就是它发送一个get请求,希望我们能接受一下,然后给微信回个数据告诉它)

    方法一:用WebApi,MVC架构(注意Controller里的这个Action不要去添加视图)

    微信发给我们四个参数:signature timestamp nonce echostr  我们通过微信要求之后把echostr这个字符串再发给微信。(最最简单的办法就是,我们啥都不做,接收echostr参数,直接返回这个参数。嘿嘿嘿)

     在Controller里这样写,也是能通过的。API架构加个路由,get请求。弄好后自己可以用postman测试一下(真的是啥都不用写)

    按照微信要求来:微信官方流程图

     我们拿到数据需要处理一下:代码如下

            /// <summary>
            /// 验证微信签名 wuchen
            /// </summary>
            /// <returns></returns>
            /// * 将token、timestamp、nonce三个参数进行字典序排序
            /// * 将三个参数字符串拼接成一个字符串进行sha1加密
            /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
            public  bool CheckSignature()
            {
                var WeChat_Token = "TokenCrCool";
                //从微信服务器接收传递过来的数据
                string signature = VqiRequest.GetQueryString("signature"); //微信加密签名
                string timestamp = VqiRequest.GetQueryString("timestamp");//时间戳
                string nonce = VqiRequest.GetQueryString("nonce");//随机数
                
                string[] ArrTmp = { WeChat_Token, timestamp, nonce };
                Array.Sort(ArrTmp);     //字典排序
                string tmpStr = string.Join("", ArrTmp);//将三个字符串组成一个字符串
                tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//进行sha1加密
                tmpStr = tmpStr.ToLower();
                //加过密的字符串与微信发送的signature进行比较,一样则通过微信验证,否则失败。
                if (tmpStr == signature)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

    返回true,然后再返回echostr字符串。

     方法二:三层架构的aspx页面(注意把前端页面删除干净,确保自己用postman测试的时候,只返回echostr)

    就是这么简单粗暴。前端页面代码要删除干净的,像这样

    方法三:一般处理程序 就两行代码。

    三种方法都是可行的,完成之后发布在自己的云服务器上。使用80,443端口才可以。其他的微信文档有步骤的。

  • 相关阅读:
    数据结构与算法系列——排序(6)_树形选择排序
    数据结构与算法系列——排序(7)_堆排序
    数据结构与算法系列——排序(5)_简单选择排序
    数据结构与算法系列——排序(4)_Shell希尔排序
    数据结构与算法系列——排序(3)_折半插入排序
    数据结构与算法系列——排序(2)_直接插入排序
    数据结构与算法系列——排序(1)_概述
    Java高级开发_性能优化的细节
    图形推理
    美团点评面试20190515
  • 原文地址:https://www.cnblogs.com/cr-cool/p/12376468.html
Copyright © 2011-2022 走看看