想学习微信公众号,却没有认证的公众号是初学者的一大拦路虎。不过微信体贴我为我们准备了测试号。

1、进入开发测试号页面

微信公众号-->开发-->开发者工具-->公众平台测试账号

2、配置测试号

appID、appsecret已经给出我们只需要配置接口配置信息

URL:我们服务器域名或地址

Token3-22位英文或数字即可

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示:

参数

描述

signature

微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

timestamp

时间戳

nonce

随机数

echostr

随机字符串

我们的应用程序需要返回nonce参数响应该请求视为配置成功。但是问题来了,我们现在只是学习和测试,是在自己的电脑上面URL自然就是我们的IP地址,但是我们的IP是局域网,外面是没办法访问的。提交时就会提示“配置错误”

这里有两种解决办法

第一种:穿透内网

使用内网穿透工具使得外网可以访问到我们的电脑

常用的工具有:ngrok、花生壳等,这里简单讲下ngrok 的使用

第一步、下载客户端

链接: https://pan.baidu.com/s/1pVoZk6bqad0oq2p9rT109g 提取码: 0i42
建议下载的时候最好把文件放在一个比较容易找的地方,如果是我,我会更改一下文件名,而且是英文的。

第二步、解压到相应文件夹
建议直接解压到常用目录,这样你就可以直接cd 进入这个客户端文件夹了 。

第三步、(补充)想好你的唯一域名
我还是想提醒一下,确保你的域名前缀唯一,这里的方式有很多,比如你的qq或者你的手机号码,甚至你的微信号,这可以对你的项目起到一定的保护作用。

第四步、进入刚才的解压目录
执行 
ngrok -config=ngrok.cfg -subdomain xxx 80 //(xxx 是你自定义的域名前缀)。
例如:ngrok -config=ngrok.cfg -subdomain MyTest 80

微信开发者工具 修改 appkey 为测试 微信开发者测试号_内网穿透

如果 ngrok穿透失败,可以下载花生壳进行穿透,这里就不做介绍。

第二种:外网服务器部署请求接受响应程序

当内网穿透失败的情况下还有一种办法,那就是把接收响应请求的程序挂到云服务器上,配置成功后其他测试功能就可以再本机完成了。前提就是我们需要有一台可以访问的云服务器。

响应请求程序

public ActionResult Index(string signature, string nonce, string echostr, string timestamp)
        {
            return Content(echostr);
            //return View();
        }

我这是基于ASP.Net MVC 搭建的,HomeController下的Index方法接收四个参数,并返回echostr参数。部署到服务器的80端口后,我们点击提交配置时,微信服务器将发送GET请求Index方法得到响应的echostr匹配后即配置成功

微信开发者工具 修改 appkey 为测试 微信开发者测试号_服务器_02