
文章插图
环境和工具
- 公众号一个
- 云服务器一台
- Python 环境
- Flask(Python 第三方库)
- 图灵机器人账号
欢迎到我的公众号 码小白TM 里调戏机器人 , 去看看这个机器人智不智能!
Web 服务器搭建我们想要接收公众号后台发送的消息 , 就需要搭建一个 Web 服务器了 。我们在云服务器上安装好 Python 和 Flask 后 , 就可以进行 Web 服务器的搭建了 。
我们首先搭建一个非常简单的 Web 服务器 , 就是在网页显示出 HelloWorld! , 来跑通我们的代码 。我们来看一下主程序代码 。
main.py
from flask import FlaskApp = Flask(__name__)@app.route("/")def index(): return "Hello World!"if __name__ == "__main__": app.run(host='0.0.0.0')代码非常简单 , 我们直接运行代码 , 启动 Web 服务器:python main.py运行成功后 , 我们可以在云服务器机器浏览器上访问 127.0.0.1 , 如果我们能看到 Hello World! 就说明我们服务器启动成功了 。我们也可以在外网机器浏览器上访问你云服务器的外网 IP , 来检测 Web 服务器是否成功启动 。公众号后台配置和验证然后我们去公众号后台开发->基本配置页找到服务器配置 , 可以看到我们需要一个服务器的 URL 地址、Token 令牌、消息加解密密钥 。

文章插图
公众号后台配置
服务器的 URL 地址就是:http://服务器外网IP/wechat , / 前面是你的云服务外网 IP 地址 , 后边是我们在代码里定义的路由入口(可以自己定义) , 后边我们会在代码中看到 。Token 令牌是我们自己定义的 , 后边代码中也会用到 。消息加解密密钥可以通过自动生成 , 消息加解密方式我们选择明文模式即可 。
你第一次配置的时候下边会有保存按钮 , 这个时候我们先不要点击 , 因为我们需要在 Web 服务器端对消息字段进行解析处理 , 然后回传结果进行验证 。
我们到微信公众号开发文档里看一下消息验证流程 。

文章插图
验证流程
根据上图流程我们进行我们的代码编写 。
main.py
from flask import Flaskfrom flask import requestimport hashlibapp = Flask(__name__)@app.route("/")def index(): return "Hello World!"# 公众号后台消息路由入口@app.route("/wechat", methods=["GET", "POST"])def wechat(): # 验证使用的是GET方法 if request.method == "GET": signature = request.args.get('signature') timestamp = request.args.get('timestamp') nonce = request.args.get('nonce') echostr = request.args.get('echostr') token = "公众号后台填写的token" # 进行排序 dataList = [token, timestamp, nonce] dataList.sort() result = "".join(dataList) #哈希加密算法得到hashcode sha1 = hashlib.sha1() sha1.update(result.encode("utf-8")) hashcode = sha1.hexdigest() if hashcode == signature: return echostr else: return ""if __name__ == "__main__": app.run(host='0.0.0.0', port=80) #公众号后台只开放了80端口
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Python爬虫案例:爬取微信公众号文章
- 小程序云开发支持公众号网页开发了
- 机器学习概念和经典算法,我用大白话给你讲清楚了!入门必看
- 一行代码让你的python运行速度提高100倍
- 新手如何快速推广微信公众号
- 道光为什么不传位给恭亲王 恭亲王奕欣和光绪什么关系
- 西汉东方朔 东方朔给汉武帝写了一篇文章
- 教你学会网易云JS逆向,爬来的歌打包发给女友邮箱可好?
- 详解Hbase底层的数据结构——LSMT
- 在30分钟内创建你的深度学习服务器
