Python(三)微信公众号开发

article/2025/9/12 10:51:17

ps:暂未完善,先做记录。本文核心讲外网穿透及微信Token验证

阅读 基本开发流程

申请个人公众号-订阅号

微信公众平台https://mp.weixin.qq.comhttps://mp.weixin.qq.com

自定义菜单

微信公众平台当然不只是给开发人员使用的,它提供了很多非技术人员可在UI界面上交互操作的功能模块。

如配置消息回复、自定义菜单、发布文章等

微信Token验证

微信提供了非开发人员也可自定义编辑的菜单UI,但是如果我们想自定义脚本开发呢?那么则需要对接微信SDK进行开发。

说明:由于微信服务器只是起到转发消息的作用,接收消息后的处理在我们本地,所以需要连接到外网,故此进行外网穿透

流程:

一:进行外网穿透

1.下载natapp客户端 到本地任意路径都可以,配置config.ini

[default]
authtoken=01d12c4dc7xxxxx 
clienttoken=
log=none
loglevel=ERROR
http_proxy=

 a.购买 隧道 和 二级域名

 这里注意最好购买支持https的隧道 和有SSL证书的二级域名,价格都不贵,隧道允许购买多个

b.在 我的隧道 里进行配置

配置好的隧道如下

 注意:我们需要把 authtoken 拷贝到ini里对应的authToken

这时我们运行natapp.exe即可看到

 到这里natapp配置完成

2.我们找到微信公众号测试平台 公众平台测试号Token验证 进行配置URL和Token

Tips:这里点提交是不会成功的,下面会讲到 。Token需要在下文使用到(WECHAT_TOKEN )

我们把Forwarding里https链接拷贝到浏览器后可以看到自动生成了新的url   *******/http/in

 这里我们把浏览器新的url链接拷贝到 公众号测试平台-接口配置信息 对应的URL上

下面需要使用到   appID、appsecret、Token、URL 在代码里进行验证

为什么要验证?请看  微信Token验证

3.验证微信Token

使用 VSCode、Python3.10 版本不重要,如果缺失引用需要 pip 安装对应包(安装Python记得勾选pip)

pip install flask

pip install requests

如未学过Python,推荐廖雪峰老师的网站,简单易学

Python代码如下:

from flask import Flask, request, abort, render_template
import hashlib# 常量
WECHAT_TOKEN = "xxxxxxx"  # 微信的token令牌,和配置时的token要统一
WECHAT_APPID = "xxxxxxx"  # appID
WECHAT_APPSECRET = "xxxxxxxx"  # AppSecretapp = Flask(__name__)#运行后执行的是http://127.0.0.1:80/http/in 链接
@app.route("/http/in", methods=["GET", "POST"])
def wechat():"""对接微信公众号服务器"""print('对接微信公众号服务器')# 1、提取微信服务器发送的参数signature = request.args.get("signature")timestamp = request.args.get("timestamp")nonce = request.args.get("nonce")# 2、校验参数,确定数据源是不是微信后台if not all([signature, timestamp, nonce]):abort(400)# 3、按照微信的流程进行计算签名,进行sha1加密, 得到正确的签名值li = [WECHAT_TOKEN, timestamp, nonce]li.sort()tmp_str = "".join(li)sign = hashlib.sha1(tmp_str.encode("utf-8")).hexdigest()# 4、判断计算的签名值与请求的签名参数是否等,如果相同,则证明请求来自微信服务器if signature != sign:abort(403)else:# 5、表示是第一次接入微信服务器的验证if request.method == "GET":echostr = request.args.get("echostr")if not echostr:abort(400)return echostrif __name__ == '__main__':app.run(host="127.0.0.1", port=8080, debug=True) #127.0.0.1是localhost本地服务器 8080端口要和natapp上配置的端口保持一致。运行natapp的时候可看到

到这里基本我们都写完配置完了,最后开始运行

a.运行Python脚本,推荐快捷鼠标右键Run Python File In Terminal ,如果有条件可断点查看执行过程

b.运行natapp.exe (如果先运行了natapp.exe,Python会提示不允许套接字也就是端口占用)

c.点击微信公众号测试平台Token测试号管理里的【提交】按钮

Tips:有条件的同学可以用断点调试python脚本,看接收到的数据

好了,到这里微信Token配置完成,提交按钮已消失,哎,挺不容易的

二:

参考文献:

1. 关于装饰器@app.route的正解 -->         Python装饰器@app.route() Flask

2.关于外网穿透的参考 -->    Ngrok外网穿透

3.微信公众号开发详细流程--> 微信公众号开发基本流程


http://chatgpt.dhexx.cn/article/8f0tANXN.shtml

相关文章

markdown编辑微信公众号

前言 早前进入it这个行业就有写博客的习惯,之前用的一款百度出的【百度空间】的产品,当时一些文章还有不少的浏览量,可惜后来【百度空间】这款产品下线了,就这样自己的一点小积累付诸东流了。后来接触到了git和github。心想不能再…

微信公众号html标签,微信公众号用户标签管理

开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。 标签管理 1. 创建标签 一个公众号,最多可以创建100个标签。 接口调用请求说明http请求方式&#xff1…

Java微信公众号开发

本文从本人博客搬运,原文格式更加美观,可以移步原文阅读:Java微信公众号开发 微信公众号介绍 1.公众号的分类 我们平常在微信应用上会看到有很多的公众号,但是各自并不一样,公众号也分很多种类型,不过最…

如何建立一个微信公众号

如何建立一个微信公众号 一、定位 首先你要对公众号有定位,比如美妆,时尚,校园生活,好物分享等,每日推荐适合大学生的电影,连续剧,推荐大学生日常会做的好事。 二、准备工作 在建立一个微信…

公众号 菜单 代码 php,如何使用Vue.js实现微信公众号菜单编辑器(案例代码)

这次给大家带来如何使用Vue.js实现微信公众号菜单编辑器(案例代码),使用Vue.js实现微信公众号菜单编辑器的注意事项有哪些,下面就是实战案例,一起来看一下。 实现菜单删除方法 在vue实例中添加删除菜单方法,根据选中的菜单级别和索…

在微信公众号中写html代码吗,微信公众号内容如何利用html编辑?

微信公众号内容如何利用html编辑?以下是小编整理的怎么利用html代码去更换微信公众号里的内容,有需要的朋友们请往下看具体怎么去操作的。以下内容供大家参考。 登录微信公众号 点击左侧分类的“素材管理”,在出现的页面中选择“图片” 点击右侧的“本地…

微信公众号使用Chrome插件:Markdown Nice优化微信公众号排版教程

Markdown Nice 是一个为了解决微信公众号排版而生的 Markdown 编辑器,当前有在线编辑器和 Chrome 插件 2 种产品形态。 下面介绍Chrome 插件:Markdown Nice 一、下载和安装Markdown Nice 1.从 墨滴 网站下载mdnice谷歌浏览器插件,如下图&a…

微信公众号的html5界面用什么软件,微信公众号编辑排版用什么软件(推荐这4款编辑器)...

做 但是市面上的公众号排版编辑器层出不穷,到底哪一款最好用呢?下面就带来主流公众号排版编辑器的对比,看下最受欢迎的编辑器中,哪款最好用吧。 1、秀米编辑器 秀米编辑器可以说是一款比较受欢迎的公众号排版编辑器了,…

java微信公众号图文消息编辑器,如何使用微信公众号自带的编辑器做出简洁舒适的图文排版...

所谓云想衣裳花想容,写文章也讲内容与形式,做微信公众号、新媒体、自媒体,光生产内容还不够,编辑排版也非常重要。 一个简洁、美观、使读者看起来舒适的排版能更好地抓住读者的眼球,愉悦读者的眼睛,才能更好…

微信公众平台菜单编辑php,Vue.js实现微信公众号菜单编辑器步骤详解(上)

这次给大家带来Vue.js实现微信公众号菜单编辑器步骤详解(上),Vue.js实现微信公众号菜单编辑器的注意事项有哪些,下面就是实战案例,一起来看一下。 学习一段时间Vue.js,于是想尝试着做一个像微信平台里那样的菜单编辑器&#xff0c…

微信文章编辑的html在哪里,微信公众号的文章编辑界面在哪里?怎么编辑排版? | 微信公众号指南...

今天给大家介绍公众号文章编辑页面在哪里,怎么编辑排版,怎么推送文章。 申请了微信公众号后怎么发布文章?公众号的文章编辑页面在哪里?部分刚接触公众号运营的小伙伴是不太了解公众号后台功能的,今天就给大家介绍公众号文章编辑页…

微信公众号编辑底部自定义菜单解决方案

微信公众号编辑底部自定义菜单解决方案 1.需求背景 最近开发公众号项目,关于公众号里面底部的菜单栏设置一般常用有两种方法。 1,是进入公众号后台,找到自定义菜单,点击后进入编辑页面,进行编辑即可。2,是…

如何在微信公众号编辑器发布免费好看的排版内容

闲谈 最近很久没更新硬核的技术内容,也没发布最近人工智能的大动作文章,总感觉有点跟这个社区脱节的样子,不过没关系,经历了痛苦的一个月找工作冲刺后,我悟了,还是混吃等死水文章舒服。 爪巴的知乎文章 …

markdown转微信公众号编辑器

Foxmd|markdown微信公众号编辑器 https://foxmd.cn 支持两端对齐可以调整字间距、行间距、段间距以及文字大小可以设置图片圆角和图片阴影可以设置自动在中英文之间插入一个空格

php+仿微信公众号样式,仿微信公众号富文本编辑器

微信公众号富文本编辑器使用百度ueditor插件为基础加以封装 百度ueditor配置提供替换皮肤,只要添加相应的样式即可(码云代码链接) TIM截图20190404150153.png 以下处理富文本编辑器里面内容是别处复制粘贴而来(如果是微信或者百度的图片资源,有些图片不会显示出来),此时需要我…

程序员的专属微信公众号编辑器:定制 Markdown 转 HTML

原文地址: https://www.fang1688.cn/study-code/3158.html 今天介绍的这款开源项目:cdk8s-markdown-to-html-master 平时我们用微信公众号的编辑器写文章功能比较简陋,主题样式也不美观,最近小编方包找到一款实用的可一键转换&…

微信公众号 Markdown 编辑器

微信公众号文章 Markdown 在线编辑器,使用 markdown 语法创建一篇简介美观大方的微信公众号图文。由于发版本麻烦,和一些功能无法扩展停滞开发了,未来不再开发 Chrome 的插件(暂存在 chrome 分支),通过 web 版本定制更丰富的功能。…

4款微信公众号编辑器,哪个最好用?

微信公众号的文案编辑一定都有这样的感受:微信后台的编辑器功能太少了,想要做出一篇样式精美、内容丰富的文章,非常有必要找到一款好用的微信编辑器。 市面上的微信编辑器那么多,哪一款最好用呢?今天我们就一起来对比分…

人工智能语音如何实现?

语音识别是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论…

人工智能之语音识别技术(四)

1. 语音信号基础 1.1 语音信号处理的目的 语音信号处理是一门新兴的边缘科学,它是语音学与数字信号处理两个学科相结合的产物。它和认知科学、心理学、语音学、计算机科学、模式识别和人工智能等学科有着紧密的联系。语音信号处理的目的是要得到某些语音特征参数以…