Flask框架实现微信公众号开发(接入微信服务器)


接入流程

见 微信公众号开发文档 主要流程如下:

第一步:填写服务器配置


image

第二步:验证消息的确来自微信服务器


check.png

第三步:依据接口文档实现业务逻辑

其中 主要处理 第二步 验证消息来自微信服务器

"""存放与微信公众号开发中有关的方法,工具"""

import hashlib

def check(signature, timestamp, nonce):
    token = "XXX" # 修改为你在微信公众号后台设置的token字段
    # 1.将token、timestamp、nonce三个参数进行字典序排序
    s = sorted([timestamp, nonce, token])
    s = ''.join(s)
    # 2.将三个参数字符串拼接成一个字符串进行sha1加密
    hashcode = hashlib.sha1(s.encode('utf-8')).hexdigest()
    # 3.开发者获得加密后的字符串可与signature对比
    if hashcode == signature:
        return True
    else:
        return False


采用框架 Flask Flask网址

框架如下

from flask import Flask
from flask import request

from utils import check

app = Flask(__name__)


@app.route('/')
def hello_world():
    return "helloWorld"


@app.route('/wx', methods=["POST", "GET"])
def main():
    if request.method == "GET":  # 验证微信接入
        my_signature = request.args.get("signature")
        my_timestamp = request.args.get("timestamp")
        my_nonce = request.args.get("nonce")
        my_echostr = request.args.get("echostr")
        if check(signature=my_signature, timestamp=my_timestamp, nonce=my_nonce):
            return my_echostr
        else:
            return ''
     if request.method == "POST":    # 业务逻辑 
        pass



if __name__ == '__main__':
    app.run()

你可能感兴趣的:(Flask框架实现微信公众号开发(接入微信服务器))