使用localtunne一分钟搞定微信公众号接入
记得15年那个刚刚进入工作的时候,公司有个微信公众号的项目,那个时候微信官方没有什么调试工具,也没有什么比较好的本地调试工具。当时有个功能需要调用微信JSSDK里面的扫一扫的功能。由于本地不能调试。开发起来很烦。每次都需要把代码上传到测试服务器,然后在测试。这样耗费了不少时间。前几天之前的同事再次开发公众号的时候。出了一些问题。然后在讨论的时候。得知了一个微信公众号本地开发的神器"localtunne"。可以自己本地直接调试开发微信公号。调用JSSDK。使用非常简单。
什么是localtunne
Localtunnel 是一个可以让内网服务器暴露到公网上的开源项目。项目地址。他可以让你本地项目只需要一句命令直接让外网访问。
怎么安装localtunne
localtunnel是基于Node.js。所有你本地需要安装nodeJS。如果本地已经安装直接运行
#安装localtunnel
npm install -g localtunnel
#查看当前版本。现在最新是1.8.3
lt --version
没有安装nodejs的可以参考nodejs官方下载安装。官网
接入微信公众号
已经安装好了localtunne,怎么关联微信公众号呢?首先打开微信公众平台接口测试帐号申请 。直接使用手机微信扫码登录。
然后看到需要填写接口配置信息和JS接口安全域名。

这个时候就需要用到刚刚我们安装的localtunnel。我们直接在控制台输入
#这里3000指的是我本地程序的监听的端口。根据具体项目修改。运行成功会返回一个域名。这个域名等会会用到。
robin:~ robin$ lt --port 3000
your url is: https://wvfgfpvsdm.localtunnel.me
这里我们需要一段代码来做认证使用。 代码如下:
const Koa = require('koa');
const app = new Koa();
let config = require('./config/config');
let sha1 = require('sha1');
app.use(async ctx => {
//仅仅用于测试
console.log(ctx.query)
let token = config.token;
let {signature, timestamp, nonce, echostr} = ctx.query;
let arr = [token, timestamp, nonce];
let str = sha1(arr.sort().join(''));
if (str === signature) {
ctx.body = echostr+ '';
}else {
ctx.body = '出错了';
}
});
app.listen(3000);
首先运行上面那段代码。然后我们把拿到域名了填写到网页上面。token可以随便填写要记住。然后点击提交按钮。这个时候会直接提示配置成功。同时本地程序也收到了微信的请求。

这个时候已经完成了对公众号的接入。简单吧。如果需要用到JS接口还需要配置JS接口安全域名。 这个一个坑就是复制自己域名的时候千万不要带任何的协议。只需要复制https://或者http://后面部门就可以了。然后点击保存之后。就可以很愉快的使用js相关的API啦。当然localtunnel也有很多别的一些功能。有兴趣的可以研究下。
使用localtunne一分钟搞定微信公众号接入的更多相关文章
- 2014-07-23 .NET实现微信公众号接入
今天是在吾索实习的第11天.今天我跟我的实习小组的组员们,解决了关于使用ASP.NET进行微信公众号接入的问题.因为我们小组成员也是刚接触微信公众号的二次开发,所以在解决该问题的工程中也走了不少弯路. ...
- thinkphp5.0 微信公众号接入支付宝支付
---恢复内容开始--- 真是无力吐槽这个需求了,想骂客户,好端端的非要在微信公众号接入支付宝,都知道微信公众号是拒绝支付宝的,屏蔽了支付宝,所以在微信公众号接入支付宝的话就必须手动复制链接跳出微信内 ...
- php 微信公众号接入支付宝支付
真是无力吐槽这个需求了,好端端的非要在微信公众号接入支付宝,都知道微信公众号是拒绝支付宝的,屏蔽了支付宝,所以在微信公众号接入支付宝的话就必须手动复制链接跳出微信内置浏览器,强制性打开web浏览器完成 ...
- 微信公众号接入之排序问题小记 Arrays.sort()
微信公众号作为强大的自媒体工具,对接一下是很正常的了.不过这不是本文的方向,本文的方向公众号接入的排序问题. 最近接了一个重构的小项目,需要将原有的php的公众号后台系统,转换为java系统.当然,也 ...
- 十分钟搞定微信企业帐号“echostr校验失败,请您检查是否正确解密并输出明文echostr”
问题域:在这里我们只解决密文可以正确解密,但微信验证提示“echostr校验失败,请您检查是否正确解密并输出明文echostr”的问题. 干货:没有正确验证的原因是:你给微信返回的是字符串,而微信需要 ...
- Node.js+Koa开发微信公众号个人笔记(一)准备工作
本人也是在学习过程中,所以文章只作为学习笔记,如果能帮到你,那就更好啦~当然也难免会有错误,请不吝指出~ 一.准备工作 1.本人学习教程:慕课网Scott老师的<Node.js七天搞定微信公众号 ...
- 微信公众号token的asp.net脚本
老板让我搞一个微信公众号.好吧.前面都很EZ,直到要使用一个token验证服务器的有效性. 看了下文档,大概意思就是微信的服务器用GET请求访问你的服务器. 其中包含了signature,nonce, ...
- 微信公众号开发C#系列-6、消息管理-普通消息接受处理
1.概述 通过前面章节的学习,我们已经对微信的开发有了基本的掌握与熟悉,基本可以上手做复杂的应用了.本篇我们将详细讲解微信消息管理中普通消息的接收与处理.当普通微信用户向公众账号发消息时,微信服务器将 ...
- 用java开发微信公众号:接收和被动回复普通消息(三)
上篇说完了如何接入微信公众号,本文说一下微信公众号的最基本功能:普通消息的接收和回复.说到普通消息,那么什么是微信公众号所定义的普通消息呢,微信开发者文档中提到的接收的普通消息包括如下几类: 1.文本 ...
随机推荐
- Yii小部件
小部件 Yii提供了一套数据小部件widgets,这些小部件可以用于显示数据. DetailView小部件用于显示一条记录数据. ListView和GridView小部件能够用于显示一个拥有分页.排序 ...
- HDU - 2612 bfs [kuangbin带你飞]专题一
分别以两个人的家作为起点,bfs求得到每个KFC最短距离.然后枚举每个KFC,求得时间之和的最小值即可. 此题不符合实际情况之处: 通过了一个KFC再去另一个KFC可以吗? 出题人都没好好想过吗? ...
- 工业级GBDT算法︱微软开源 的LightGBM(R包正在开发....)
看完一篇介绍文章后,第一个直觉就是这算法已经配得上工业级属性.日前看到微软已经公开了这一算法,而且已经发开python版本,本人觉得等hadoop+Spark这些平台配齐之后,就可以大规模宣传啦~如果 ...
- 实战DeviceIoControl 之四:获取硬盘的详细信息
Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...
- Android 网络之 Volley+OkHttp+Https
Volley 已经发布很长时间了, 也已被广泛应用, 相关教程到处都是. 本文只说两个值得注意的地方. 本文讲解部分比较少, 请参阅提供的相关链接. 完整的实现代码在 Github dodocat/A ...
- hi3531的h264压缩中修改波特率
typedef struct hiVENC_ATTR_H264_CBR_S { HI_U32 u32Gop; HI_U32 u32StatTime; HI_U32 u32ViFrmRate; HI_F ...
- Java和Flex整合报错(二)
1.错误原因 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...
- 优化一个小时不出结果的SQL
今天刚清闲点,在网上看些资料,这时,用户QQ上发来求助,说一个更新数据的SQL语句很慢,都一个小时了也不出结果,于是,了解下具体的情况,略施小计,5s出结果,下面是我分析该SQL时用到的执行计划,略去 ...
- 【Luogu1291】百事世界杯之旅(动态规划,数学期望)
[Luogu1291]百事世界杯之旅(动态规划,数学期望) 题面 洛谷 题解 设\(f[i]\)表示已经集齐了\(i\)个名字的期望 现在有两种方法: 先说我自己的: \[f[i]=f[i-1]+1+ ...
- JAVA面试题二
JAVA 综合面试题 2007-08-12 目录 Java面试题整理 9 Java面向对象 9 1. super()与this()的区别? 9 2. 作用域public,protected,priva ...