域名准备
准备一个域名, 且确保该域名已经完成备案. 因为只有完成备案的域名才可以访问80端口和443端口.
微信规定,http协议必须绑定80端口,https必须绑定443端口。
微信设置
url 填入已经准备好的域名
token 随便填写
其余的根据提示操作
服务器设置
安装模块
pip install wechatpy
pip install falcon
pip install waitress
准备python代码
编辑文件: plug_in.py
import falcon
from falcon import uri
from wechatpy.utils import check_signature
from wechatpy.exceptions import InvalidSignatureException
class Connect(object):
def on_get(self, req, resp):
query_string = req.query_string
query_list = query_string.split('&')
b = {}
for i in query_list:
print(i)
b[i.split('=')[0]] = i.split('=')[1]
try:
# check_signature(token='aijia20200512zyw', timestamp=b['timestamp'], nonce=b['nonce'])
check_signature(token='aijia20200512zyw', signature=b['signature'], timestamp=b['timestamp'], nonce=b['nonce'])
resp.body = (b['echostr'])
print(resp.body)
except InvalidSignatureException:
print('校验失败')
resp.status = falcon.HTTP_200
app = falcon.API()
connect = Connect()
app.add_route('/', connect)
运行
waitress-serve --port=80 plug_in:app
微信发起对接
对接完成
WEROBOT
robot.config['HOST'] = '0.0.0.0'
robot.config['PORT'] = 80
robot.run()