个人微信公众号搭建Python实现 -个人公众号搭建-运行run方法的编写(14.3.3)
2024-10-21 19:53:15
@
1.主要逻辑
使用的是flask服务器
就使用一个函数处理请求
第一个是验证服务器,返回微信服务器给的字符串就表示验证成功
第二是要处理微信服务器发送过来的请求,解析json字符串
第三就是处理消息,分为事件处理和消息处理
然后得到处理后的数据,封装好就返回给微信服务器,再交给用户
这里的配置信息是写在json配置文件中的,方便管理
2.代码
from flask import Flask,request,abort
import xmltodict
import json
from function import EventProcessing,MessageProcessing
with open(r'../resource/SET.json', 'r', encoding="utf-8") as f:
SET = json.load(f)
WECHAT_TOKEN = SET["WECHAT_TOKEN"]
app = Flask(__name__)
@app.route("/wx",methods=["GET","POST"])
def wechat():
#1.验证微信服务器,这里偷懒,返回字符串就完事,实际要验证
echostr = request.args.get("echostr")
if echostr is not None:
return echostr
#2.解析消息类型
xml_to_dct = xmltodict.parse(request.data)
xml_dict = xml_to_dct.get("xml")
msg_type = xml_dict.get("MsgType")
#3.处理消息
if msg_type == "event":
resp = EventProcessing.Processing(xml_dict,xml_dict.get("Event"))
else:
resp =MessageProcessing.Processing(xml_dict,msg_type,SET)
#4.返回消息
resp = xmltodict.unparse(resp)
return resp
if __name__ == '__main__':
app.run(host="127.0.0.1",port=80)
关于作者
个人博客网站
个人GitHub地址
个人公众号:
最新文章
- 最有用的Linux命令行使用技巧集锦
- 安装服务Memcached+Nginx+Php linux下安装
- oracle 之路目录
- ACM1228_STL的应用
- PHP优化的总结
- iOS 关于时间戳的一些细节
- 设置Android设备在睡眠期间始终保持WLAN开启的代码实现
- Jquery remove()和empty()
- mysql按某个列执行1-N排名的问题
- js中匿名函数和回调函数
- recovery 恢复出厂设置失败Data wipe failed
- swift class的虚函数表、扩展、@objc修饰、虚函数的派发方式研究
- 浏览器的兼容性(CSS浏览器兼容性、CSS hack)
- Netty权威指南之Netty入门程序
- BN层
- Git_使用GitHub
- **python中的类和他的成员
- hdu1061Rightmost Digit(快速幂取余)
- 51nod 1363 最小公倍数之和 ——欧拉函数
- Oracle 11g 新特性 --SQL Plan Management 说明