官网手册中代码是2.7写的
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Getting_Started_Guide.html
如果改写成python 3.6,除了语法的区别,还需要改写hash加密的过程:
import hashlib
import web
import reply
import receive
class Handle(object):
def GET(self):
try:
data = web.input()
print(data)
if len(data) == 0:
return "hello, this is handle view"
signature = data.signature
timestamp = data.timestamp
nonce = data.nonce
echostr = data.echostr
token = "1111111111111"
list = [token, timestamp, nonce]
print(list)
list.sort()
sha1 = hashlib.sha1()
# map(sha1.update, list) python 2.7写法
sha1.update("".join(list).encode('utf-8')) # python 3.6 写法
hashcode = sha1.hexdigest()
print("handle/GET func: hashcode, signature: ", hashcode, signature)
nature)
print(echostr)
if hashcode == signature:
print('hashcode==signature')
return echostr
else:
print('else')
return ""
except(Exception, Argument):
print('except')
return Argument
参考文档:
https://blog.csdn.net/qq_42798238/article/details/90473360