zoukankan      html  css  js  c++  java
  • 个人微信公众号搭建Python实现 -个人公众号搭建-运行run方法的编写(14.3.3)

    @

    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地址
    个人公众号:
    在这里插入图片描述

  • 相关阅读:
    oracle数据库登录连接很慢;kettle连接oracle 报 IO 错误,socket time out 问题解决记录
    装机攻略
    项目开发规范
    选项卡事件测试
    日常报错记录
    邮箱常用端口及协议
    JS制作二级联动
    使用JQuery对页面进行绑值
    IDEA 报错记录
    论文格式
  • 原文地址:https://www.cnblogs.com/simon-idea/p/11397697.html
Copyright © 2011-2022 走看看