python搭建微信服务器老是失败
为什么我在设置微信接口配置的时候老是提示报错呀?我是按照网上的教学视频一步一步的做的,他们的却可以,我自己测试却不行,怎么回事呢?# coding:utf-8
from flask import Flask, request, abort
import hashlib
# 常量
# 微信的token令牌
WECHAT_TOKEN = "test"
app = Flask(__name__)
@app.route("/wh", methods=["GET", "POST"])
def wechat():
"""对接微信公众号服务器"""
# 接收微信服务器发送的参数
signature = request.args.get("signature")
timestamp = request.args.get("timestamp")
nonce = request.args.get("nonce")
echostr = request.args.get("echostr")
# 校验参数
if not all():
abort(400)
# 按照微信的流程进行计算签名
li =
# 排序
li.sort()
# 拼接字符串
tmp_str = "".join(li)
# 进行sha1加密, 得到正确的签名值
sign = hashlib.sha1(tmp_str).hexdigest()
# 将自己计算的签名值与请求的签名参数进行对比,如果相同,则证明请求来自微信服务器
if signature != sign:
# 表示请求不是微信发的
abort(403)
else:
return echostr
if __name__ == '__main__':
app.run(port=8000, debug=True)
你令牌是咋弄来的,花银子了没 你令牌是咋弄来的,花银子了没 wp231957 发表于 2021-3-18 07:37
你令牌是咋弄来的,花银子了没
好像找到问题原因了,是下面这段加密写法错了
# 进行sha1加密, 得到正确的签名值
sign = hashlib.sha1(tmp_str).hexdigest()
我改成这样就好了,微信就提示配置成功了
# 进行sha1加密, 得到正确的签名值
sha1 = hashlib.sha1()
sha1.update(tmp_str.encode('utf-8'))
text1_sha1 = sha1.hexdigest()
sign = text1_sha1
但我好像也没看出什么区别呀,难道一定要编码下吗? 西瓜味的苹果 发表于 2021-3-18 17:04
你令牌是咋弄来的,花银子了没
好像找到问题原因了,是下面这段加密写法错了
# 进行sha1加密, 得到正确的签名值
sign = hashlib.sha1(tmp_str).hexdigest()
我改成这样就好了,微信就提示配置成功了
# 进行sha1加密, 得到正确的签名值
sha1 = hashlib.sha1()
sha1.update(tmp_str.encode('utf-8'))
text1_sha1 = sha1.hexdigest()
sign = text1_sha1
但我好像也没看出什么区别呀,难道一定要编码下吗?能解释下吗?
页:
[1]