Pyhton3开发微信公众号(一)

今天开始使用 Python3 来处理微信公众号数据,首先进入开发文档可以看到需要先验证一下 token ,观察一下代码发现是使用 web 框架搭建一个监听端,收到信息后对几个数据进行 sha1 计算,比对后来判断是否是微信消息。

示范代码对于 python3 来说有一些小地方需要修改,这里直接贴上修改后的代码

# -*- coding: utf-8 -*-
# filename: handle.py

import hashlib
import web

class Handle(object):
    def GET(self):
        try:
            data = web.input()
            print('data:',data)
            if len(data) == 0:
                return "hello, this is handle view"
            signature = data.signature
            timestamp = data.timestamp
            nonce = data.nonce
            echostr = data.echostr
            token = "zangguicheng" #请按照公众平台官网\基本配置中信息填写

            list = [token, timestamp, nonce]
            list.sort()
            #修改代码如下,在 python2 中,sort 后为一个列表文件,但在 python3 中为迭代器,所以需要手动进行拼接。
            str1=''
            for i in list:
                str1 += i
            sha1 = hashlib.sha1()
            sha1.update(str1.encode('utf-8'))
            #拼接之后还需要将他以 utf-8 的编码格式转换为 byte 类型才能进行 sha1 计算
            hashcode = sha1.hexdigest()
            #以上几行代码为验证 token 需要修改的代码
            print("handle/GET func: hashcode", hashcode, "signature: ", signature)
            if hashcode == signature:
                return echostr
            else:
                return ''
        except Exception or Argument:
            return Argument

如需要帮忙验证 token 或是有想要交流微信公众号开发请加QQ
723831904

猜你喜欢

转载自blog.csdn.net/qq_20728575/article/details/82220519