【微信开发】开启开发者模式

前言
我们利用微信公众平台为用户提供服务的方式基本上可以分为两种:

【微信开发】开启开发者模式

文章插图
在开发者模式中,微信平台更像是一个中转站,在用户与开发者直接传递消息 。开放公众号的更多功能 。
准备
【【微信开发】开启开发者模式】可以在阿里云、腾讯云上面申请(新用户可以使用有限的免费时长),或者使用花生壳、等工具进行内网穿透 。
开启服务
所谓的开启服务通俗的来说就是启动一个网站,无论你使用ASP.NET 、Java EE,还是PHP、都可以,可以选择你熟悉的技术来开发 。
这里我们使用ASP.NET MVC来进行开发,首先在VS中新建一个ASP.NET MVC的应用程序,按下F5运行程序,出现下面页面表明启动成功 。
【微信开发】开启开发者模式

文章插图
添加一个新的控制器(),起名为r,在r中添加一个用来响应Get请求 。根据MVC的路由规则,输入请求地址:
:7388//Hello
浏览器中会出现 Hello World! ,如果不清楚MVC的路由规则,可以查看我的另一篇文章ASP.NET MVC-轻松理解(路由) 。
public ActionResult Get(){return Content("Hello World!");}
代码开发
微信接口文档中给出的验证逻辑如下所示:
【微信开发】开启开发者模式

文章插图
public ActionResult Get(){string token = "weichat";string echoStr = Request.QueryString["echoStr"];//随机字符串 string signature = Request.QueryString["signature"];//微信加密签名string timestamp = Request.QueryString["timestamp"];//时间戳 string nonce = Request.QueryString["nonce"];//随机数 string[] ArrTmp = { token, timestamp, nonce };Array.Sort(ArrTmp);//字典排序string tmpStr = string.Join("", ArrTmp);tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");tmpStr = tmpStr.ToLower();if (tmpStr == signature){return Content(echoStr);}else{return Content("false");}}
服务器配置
完成了开发者后台的代码之后,我们需要将后台服务绑定到微信公众号平台上,对其进行测试,处理用户消息 。在公众号管理页面中选择“开发”下的“基本配置”项,进行绑定并启用服务器配置 。
【微信开发】开启开发者模式

文章插图
提交后会提示是否成功 。
小结
总的来说,我们只需要提供一个可以响应get请求的方法,接收微信服务器传过来的参数,将其中的、nonce与本地的token采用与微信服务器端相同的加密方式进行加密,比较后相同即为通过验证 。