个人微信公众号搭建Python实现 -开发配置和微信服务器转入-配置说明(14.1.2)
2024-10-19 13:32:36
@
1.查看基本配置
登录到微信公众号控制面板后点击基本配置
这里要讲的就是订阅号
前往注册微信公众号
2.修改服务器配置
所以一定要一个服务器,实在没有就去使用内网穿透
令牌token的作用是来验证获取主机身份,比如如果有人知道我的url直接使用浏览器或者postman获取,会造成数据泄露,所以给它加个令牌,只有有令牌的主机才能访问
EncodingAESKey指的是消息加密的方式,可以不加密,使用明文。但是如果开发者服务器和微信服务器之间经过的网络设备被其他人抓包,那么消息就会泄露
开始进行对接
url只支持80端口
3.当上面都配置好,点击提交
此时微信服务器会马上发送一个请求,所以要打开现在自己的服务器
开发者通过检验签名对请求进行检验
若确认此请求来自微信服务器,则原样返回echostr参数内容
接入生效,成为开发者,否则失败
4.配置如下
控制台填好
flask代码实现服务器并允许
from flask import Flask,request,abort
import hashlib
app = Flask(__name__)
#常量 微信的token令牌
WECHAT_TOKEN = "???"
@app.route("/wx")
def wechat():
"""对接微信公众号服务器"""
#接收微信服务器发送过来的参数
signature = request.args.get("signature")
timestamp = request.args.get("timestamp")
nonce = request.args.get("nonce")
echostr = request.args.get("echostr")
return echostr
# #校验参数
# if not all([signature,timestamp,nonce,echostr]):
# abort(404)
#
# #按照微信的流程计算签名
# li = [WECHAT_TOKEN,nonce,echostr]
# #排序
# li.sort()
# #拼接字符串
# tmp_str = "".join(li)
#
# #进行sha1加密 得出正确的一个签名值
# sign = hashlib.sha1(tmp_str).hexdigest()
#
# #讲自己计算的与微信请求的相对比
# if signature != sign:
# #表示不是微信发送的
# abort(403)
# else:
# return echostr
if __name__ == '__main__':
app.run(host="127.0.0.1",port=80)
注意
这里其实只要返回echostr成功,就表示验证成功了
去掉的注释是验证身份的,有错误,看下开发文档就行
这里已经完成配置了
最新文章
- TinyWeb v1.0 正式完成第一个Release版本(功能基于 libuv 跨平台库)
- (转)STORM启动与部署TOPOLOGY
- 关于 xcode5 真机调试 的 no matching provisioning profiles found
- excel曲线拟合怎么弄
- Oracle基础表空间建立,以及练习
- 三通短信每月发送量导入Sqlserver随笔
- javascript中this的学习总结
- linux socket 编程(C语言)
- thanksgiving day (eat)
- linux下配置QT(很全的步骤,从下载开始,配置QMAKESPEC)
- windows7添�windows2008R2域配置
- The 50 Most Essential Pieces of Classical Music
- 如何解决在chrome中自动完成表单后input出现黄色背景
- [读书系列] 深度探索C++对象模型 初读
- 《Java程序设计》第5周学习总结
- Angular CLI 升级 6.0 之后遇到的问题
- TransactionScope事务处理方法介绍及.NET Core中的注意事项
- python将对象名的字符串类型,转化为相应对象的操作方法
- Cookie浅谈
- Java基础知识(JAVA之泛型)
热门文章
- HarmonyOS Java UI之DependentLayout布局示例
- 【震惊】手把手教你用python做绘图工具(一)
- 区块链V1版本实现之四
- FPGA 串口
- python之迭代器,生成器小结
- 深度学习基础 Probabilistic Graphical Models | Statistical and Algorithmic Foundations of Deep Learning
- CenOS下载离线依赖包神器--yumdownloader
- JJWT 使用示例
- PyQt(Python+Qt)学习随笔:PyQt界面派生类构造方法中super方法的使用
- PyQt(Python+Qt)学习随笔:Qt Designer中QAbstractButton派生按钮部件的checkable和checked属性