flask+ngrok微信公众号搭建小试

利用ngrok+flask搭建微信公众平台,基本分为三步:1. ngrok配置;2. 微信公众平台配置;3. flask搭建。基本的数据流走向如下图所示:

1. ngrok配置

ngrok主要是为使用nat上网、没有公网地址资源的用户提供一个内网和外网映射的工具,通过它可以在公网访问内网的资源。

首先在ngrok官网下载ngrok工具,本次使用的版本:2.1.18,在win7下使用,使用命令为:ngrok.exe http 80

如下图所示,蓝色圈住的链接即为对外的链接,后面表示该链接映射至本地机器的80端口。如果使用flask,需要将80更改至flask的默认端口5000或自定义的端口。如此,通过复制链接即可在公网访问相应资源。

ngrok也可通过添加参数:-subdomain=xxx,来自定义子域名,但是目前要收费,最基本的都要5美元/月才能享受该项服务。值得注意的是,如果不购买它的服务,每次启用ngrok,链接都会变化。

2. 微信公众平台配置

微信公众平台配置包括两步:1. 在服务端写好鉴权的代码,关于鉴权的代码如下图所示:具体可参考开发文档;2. 在微信公众平台设置好鉴权的链接,如下图所示:

微信公众平台配置,主要是在基本配置界面,输入微信要求的验证的链接。如果该验证就在第一步中的链接的根目录下,就直接复制即可,token可随意设置,但要保证这里设置的和代码里面的保持一致。

def wechat_auth():
    if request.method == ‘GET‘:
        if len(request.args) > 3:
            token = ‘xxxxxxx‘
            query = request.args
            signature = query[‘signature‘]
            timestamp = query[‘timestamp‘]
            nonce = query[‘nonce‘]
            echostr = query[‘echostr‘]
            s = [timestamp, nonce, token]
            s.sort()
            s = ‘‘.join(s)
            sha1str = hashlib.sha1(s.encode(‘utf-8‘)).hexdigest()
            if sha1str == signature:
                return make_response(echostr)
            else:
                return make_response("认证失败")
        else:
            return "认证失败"

2017-03-0511:49:45

不专业的地方,敬请大家指正!

时间: 2024-10-08 03:20:30

flask+ngrok微信公众号搭建小试的相关文章

个人微信公众号搭建Python实现 -接收和发送消息-基本说明与实现(14.2.1)

目录 1.原理 2.接收普通消息 3.接收代码普通消息代码实现 @(接收和发送消息-基本说明与实现) 1.原理 2.接收普通消息 其他消息类似参考官方文档 3.接收代码普通消息代码实现 from flask import Flask,request,abort import xmltodict import time app = Flask(__name__) #常量 微信的token令牌 WECHAT_TOKEN = "xxxx" @app.route("/wx"

个人微信公众号搭建Python实现 -开发配置和微信服务器转入-认识微信公众号(14.1.1)

目录 1.微信账号类型 2.微信公众号开发需求 3.微信公众号开发原理 @(认识微信公众号) 1.微信账号类型 个人号 公众号 订阅号 服务号 企业号 这里要讲的就是订阅号 前往注册微信公众号 2.微信公众号开发需求 内嵌功能 被动回复 主动告知 内嵌网页 高级需求需编程实现如 3.微信公众号开发原理 编程人员要做的就是完成开发者服务器或者说是网页服务器 前往微信公众号开发者文档 原文地址:https://www.cnblogs.com/simon-idea/p/11349388.html

微信公众号开发80端口映射之搭建ngrok服务器

说明 了解本文之前,最好先看前篇:<<微信公众号开发80端口映射解决方案>>.最近公司要搞微信公众号开发,需要解决80端口映射的问题,为了稳定可靠,只好自己搭建ngrok服务端.ngrok 是一个使用go语言编写的反向代理软件,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网穿透.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放. 环境和条件 服务器Centos6.8_x64+windows10_x64 一台有公网ip的服务器 域名解析到服务

一、微信公众号开发环境搭建

说道微信公众号,大家肯定不陌生...这年头,谁还谁还没个微信啊.最近在研究这个,,记录一下.写的不好,大家别喷啊.做个笔记而已. 一. 准备工作: 1.二话不说,先注册微信公众号.这就不用说了吧,各种账号,密码,验证码,各种填写.\(^o^)/~ 进去你的瞅瞅吧,都有哪些账号.服务号,订阅号,企业号的相关说明 2.看看 官方说明,,大概知道什么玩意了哇..立马动手注册.(别打服务号,企业号的主意,,和咱们普通老百姓,没啥关系)作为一个新一代程序猿,我们重点关注,你们懂得. 3.开发嘛,,大家都知

在新浪SAE上搭建微信公众号的python应用

微信公众平台的开发者文档https://www.w3cschool.cn/weixinkaifawendang/ python,flask,SAE(新浪云),搭建开发微信公众账号http://www.oschina.net/code/snippet_1768500_36580 从零开始 Python 微信公众号开发https://zhuanlan.zhihu.com/p/21354943 新浪云应用http://www.sinacloud.com/doc/sae/python/ SAE Pyth

微信公众号开发技术基础(二):外网映射工具ngrok的简介和使用

本文结构:(一)用法(二)示例(三)qydev ngrok的下载链接及相关网站 微信公众号开发的时候,微信服务器是需要访问我们的一个公网服务器地址的,但我们又是在本地调试自己的程序的,那怎样让微信服务器能访问到我们本地的服务器呢?那就需要用外网映射工具,将本地IP映射成公网IP,这样就能在公网上访问本地服务了,这里使用ngrok.ngrok原版程序的服务器是在国外的,访问速度极慢或者干脆访问不了,所以这里提供一个服务器搭建在国内的基于ngrok的一个软件:qydev,百度网盘下载链接见文章结尾.

微信公众号开发入门笔记(四):开发环境搭建

(一)Eclipse+Tomcat本地服务器的搭建及Servlet程序的创建 我们主要在Servlet程序中实现业务逻辑,自然要先熟悉Servlet程序开发环境的搭建及程序的创建. 详见博文:微信公众号开发技术基础(一):Eclipse+Tomcat搭建本地服务器并跑通HelloWorld程序 (二)外网映射工具的准备 从上一篇博文中的数据交互原理中可以看出,我们的本地后台服务器是需要直接和微信服务器进行交互的,而微信服务器必须访问一个公网的地址,无法访问我们本地的地址.因此,需要一个外网映射工

用java开发微信公众号:测试公众号与本地测试环境搭建(一)

俗话说,工欲善其事,必先利其器.要做微信公众号开发,两样东西不可少,那就是要有一个用来测试的公众号,还有一个用来调式代码的开发环境. 测试公众号 微信公众号有订阅号.服务号.企业号,在注册的时候看到这样的信息,只有订阅号可以个人申请,服务号和企业号要有企业资质才可以.这里所说的微信公众号开发指的是订阅号和服务号. 另外,未认证的个人订阅号有一些接口是没有权限的,并且目前个人订阅号已不支持微信认证,也就是说个人订阅号无法调用一些高级的权限接口,下图就是一个未认证的个人订阅号所具备权限列表,像生成二

nodejs + BAE 搭建微信公众号开发平台

闲来无事创建了一个微信公众账号,名曰“深圳生活小助手”, 关注的人不多,平时发一些深圳新闻,趣事啥的,为了丰富公众号的内容,准备添加一些便民查询功能,例如天气预报.快递查询等等. 于是就有了本文的内容. 深圳的读者扫描关注支持下啊... 闲话不多说,本文主要介绍的就是如何基于nodejs和百度云搭建微信公众号开发平台,下一节介绍如何基于该平台实现了一个简单的天气预报查询功能的小例子. 1. 使用Express搭建本地站点 Express 是一个简洁.灵活的 node.js Web 应用开发框架,