CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

时间:2023-03-09 14:12:49
CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

1.安装配置Python

CentOS7 自带 Python2.7, 我用的是Python3.6.5,需要CentOS7安装配置Python3并和Python2共存的,请看以下教程:

CentOS7安装配置Python3.6.5

2.安装web.py

pip install web.py

可以换国内源下载,速度比较快

3.安装libxml2, libxslt, lxml python

yum install libxml2
yum install libxslt
yum install lxml python

4.编写服务器代码

我们写两个模块来处理验证token,一个main.py,一个handle.py

# main.py
import web
from handle import Handle urls = (
'/wx', 'Handle' # 映射
) if __name__ == '__main__':
app = web.application(urls, globals())
app.run()
# handle.py
import hashlib
import web class Handle(object): def POST(self):
pass # get方法,验证token
def GET(self):
try:
data = web.input()
if len(data) == 0:
return "success!"
signature = data.signature
timestamp = data.timestamp
nonce = data.nonce
echostr = data.echostr
token = "demo" # 请按照公众平台官网\基本配置中信息填写,两个token保持一致 list = [token, timestamp, nonce]
list.sort()
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() # 获取加密串 # 验证
print("handle/GET func: hashcode, signature: ", hashcode, signature)
if hashcode == signature:
return echostr
else:
return "" except Exception as Argument:
return Argument

5.运行main.py文件,查看浏览器是否可以访问

执行命令,注意要开放80端口,端口不要被占用

python main.py 80

打开浏览器访问url:http://外网IP/wx

如果成功网页会显示get方法中返回的字符串: success!

6.登录微信公众平台填写服务器配置信息

登录微信公众平台,网页左下角开发栏点击基本配置,如图:

CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

然后根据提示填入相关信息,最后点击提交按钮就好啦

CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

配置成功后要在服务器配置那里点一下启用,如图,可随时更改配置,启用或者停用服务器

CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

过程中遇到了各种各样的坑,有空再来更新。。