使用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.文本 ...
随机推荐
- Yii2 场景
下面给大家介绍一下 yii2.0 场景的使用. 现在在 post表里面有 title image content 三个的字段,当我创建一个 post 的时候,我想三个字段全部是必填项,但是你修改的时候 ...
- 批标准化(Batch Norm)
BN作用: 加速收敛 控制过拟合,可以少用或不用Dropout和正则 降低网络对初始化权重不敏感 允许使用较大的学习率 一.如何加速收敛? 通过归一化输入值/隐藏单元值,以获得类似的范围值,可加速学习 ...
- Android的ListView异步加载图片时,错位、重复、闪烁问题的分析及解决方法
Android ListView异步加载图片错位.重复.闪烁分析以及解决方案,具体问题分析以及解决方案请看下文. 我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图 ...
- javascript学习笔记 --event事件
事件源(按钮.窗口)->事件对象->事件处理程序 事件源可以是网页元素浏览器窗口事件处理程序一般是一个函数. 一个事件可以被多个函数处理 事件的总类 鼠 ...
- Flex中的FusionCharts 3D柱形图
1.3D柱形图源码 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:f ...
- My97 DatePicker图标触发
My97 DatePicker图标触发 1.设计源码 <%@ page language="java" import="java.util.*" page ...
- python version 2. required,which was not found in the registry 解决方案
不能在注册表中识别python2.7 新建一个register.py 文件 import sys from _winreg import * # tweak as necessary version ...
- 芝麻HTTP:Python爬虫入门之正则表达式
1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来 ...
- OpenStack_I版 5.Nova部署
Nova安装 创建配置存放目录,日志存放目录,执行文件目录,虚拟机目录 Nova配置修改 生成主配置文件 创建Nova数据库 同步Nova数据库 验证 Nova连接RabbitMQ配置修改 key ...
- CF AIM Tech Round 3 (Div. 2) D - Recover the String
模拟 首先可以求出 0 和 1 的个数 之后按照01 10 的个数贪心安排 细节太多 错的都要哭了 #include<bits/stdc++.h> using namespace std; ...