python3 微信公众平台开发--使用web.py搭建一个微信服务
发布时间:2020-12-17 17:01:38 所属栏目:Python 来源:网络整理
导读:1. 搭建微信服务器 web.py安装 pip?install?web.py==0.40.dev0????#?python3pip?install?web.py????#?python2 服务端代码 1.? main.py代码 #?-*-?coding:?utf-8?-*-#?filename:?main.pyimport?weburls?=?(????'/wx',?'Handle',)class?Handle(object):????def
1. 搭建微信服务器 web.py安装 pip?install?web.py==0.40.dev0????#?python3 pip?install?web.py????#?python2 服务端代码 1.? main.py代码 #?-*-?coding:?utf-8?-*- #?filename:?main.py import?web urls?=?( ????'/wx',?'Handle',) class?Handle(object): ????def?GET(self): ????????return?"hello,?this?is?a?test" if?__name__?==?'__main__': ????app?=?web.application(urls,?globals()) ????app.run() 2. 如果出现“socket.error: No socket could be created“错误信息,可能为80端口号被占用,可能是没有权限,请自行查询解决办法。如果遇见其他错误信息,请到 web.py官方文档 学习webpy 框架3) 执行命令: sudo?python?main.py?80?。 3. 浏览器输入http://外网IP:80/wx?? 如下图,一个简单的web应用已搭建。 2.接口配置信息填写 2.1 微信公众号端 url: 填写对应的网址,比如我的是wx.chenxm.cc/wx token: 可以填写随机字符串,不建议填写纯数字 2.2 服务端代码修改 main.py #?-*-?coding:?utf-8?-*- #?filename:?main.py import?web from?handle?import?Handle urls?=?( ????'/wx',) if?__name__?==?'__main__': ????app?=?web.application(urls,?globals()) ????app.run() handle.py 业务逻辑图 #?-*-?coding:?utf-8?-*- #?filename:?handle.py import?hashlib import?web class?Handle(object): ????def?GET(self): ????????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?=?"a123456789"??#?请按照公众平台官网基本配置中信息填写 ????????li?=?[timestamp,?nonce,?token] ????????query_string?=?''.join(li) ????????sha1?=?hashlib.sha1() ????????#?python3写法 ????????sha1.update(bytes(query_string,?encoding='utf-8')) ????????#?python2写法 ????????#?sha1.update(query_string) ????????hashcode?=?sha1.hexdigest() ????????#?print("------handle/GET?func:?hashcode,?signature-----") ????????#?print("hashcode--->",?hashcode) ????????#?print("signature-->",?signature) ????????if?hashcode?==?signature: ????????????return?echostr ????????else: ????????????return?"" 重新执行命令: sudo?python?main.py?80 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |