我python3.5 [代码]# -*- coding: utf-8 -*-[代码][代码]# filename: handle.py[代码] [代码]import[代码] [代码]hashlib[代码][代码]import[代码] [代码]web[代码] [代码]class[代码] [代码]Handle([代码][代码]object[代码][代码]):[代码][代码] [代码][代码]def[代码] [代码]GET([代码][代码]self[代码][代码]):[代码][代码] [代码][代码]try[代码][代码]:[代码][代码] [代码][代码]data [代码][代码]=[代码] [代码]web.[代码][代码]input[代码][代码]()[代码][代码] [代码][代码]if[代码] [代码]len[代码][代码](data) [代码][代码]=[代码][代码]=[代码] [代码]0[代码][代码]:[代码][代码] [代码][代码]return[代码] [代码]"hello, this is handle view"[代码][代码] [代码][代码]signature [代码][代码]=[代码] [代码]data.signature[代码][代码] [代码][代码]timestamp [代码][代码]=[代码] [代码]data.timestamp[代码][代码] [代码][代码]nonce [代码][代码]=[代码] [代码]data.nonce[代码][代码] [代码][代码]echostr [代码][代码]=[代码] [代码]data.echostr[代码] [代码] [代码][代码]token [代码][代码]=[代码] [代码]"123"[代码] [代码]#请按照公众平台官网\基本配置中信息填写[代码][代码] [代码][代码]list[代码] [代码]=[代码] [代码][token, timestamp, nonce][代码][代码] [代码][代码]list[代码][代码].sort()[代码] [代码] [代码][代码]list[代码] [代码]=[代码] [代码][token, timestamp, nonce][代码][代码] [代码][代码]list[代码][代码].sort()[代码][代码] [代码][代码]# python2.7[代码][代码] [代码][代码]# sha1 = hashlib.sha1()[代码][代码] [代码][代码]# map(sha1.update, list)[代码][代码] [代码][代码]# hashcode = sha1.hexdigest()[代码] [代码] [代码][代码]# python3.x[代码][代码] [代码][代码]sha1 [代码][代码]=[代码] [代码]hashlib.sha1()[代码][代码] [代码][代码]sha1.update([代码][代码]list[代码][代码][[代码][代码]0[代码][代码]].encode([代码][代码]"utf-8"[代码][代码]))[代码][代码] [代码][代码]sha1.update([代码][代码]list[代码][代码][[代码][代码]1[代码][代码]].encode([代码][代码]"utf-8"[代码][代码]))[代码][代码] [代码][代码]sha1.update([代码][代码]list[代码][代码][[代码][代码]2[代码][代码]].encode([代码][代码]"utf-8"[代码][代码]))[代码][代码] [代码][代码]hashcode [代码][代码]=[代码] [代码]sha1.hexdigest() [代码][代码]# 获取加密串[代码] [代码] [代码][代码]# python3.x[代码][代码] [代码][代码]# temp = ''.join(list)[代码][代码] [代码][代码]# sha1 = hashlib.sha1(temp.encode('utf-8'))[代码][代码] [代码][代码]# map(sha1.update, list)[代码][代码] [代码][代码]# hashcode = sha1.hexdigest()[代码][代码] [代码][代码]# print("handle/GET func: hashcode, signature: ", hashcode, signature)[代码][代码] [代码][代码]if[代码] [代码]hashcode [代码][代码]=[代码][代码]=[代码] [代码]signature:[代码][代码] [代码][代码]# print(echostr)[代码][代码] [代码][代码]return[代码] [代码]echostr[代码][代码] [代码][代码]else[代码][代码]:[代码][代码] [代码][代码]return[代码] [代码]''[代码][代码] [代码][代码]except[代码] [代码]Exception:[代码][代码] [代码][代码]return[代码] [代码]Exception[代码]后台看见200 ok,echostr也return了,依旧token验证失败
消息推送配置-Token校验返回200302{"base_resp":{"err_msg":"verify token fail","ret":200302}} 我把微信调用的请求信息打印出来,手动发送命令,返回的就是echostr的值,是字符串的
2019-08-09