代码:
@app.get("/wx")
def auto_reply(signature:str, timestamp:str, nonce:str, echostr:str):
token = "***"
my_signature = SHA1().getSHA1(token, timestamp, nonce)
print(my_signature, signature)
if my_signature==signature:
print("success")
return echostr
else:
return None
请求提示token验证失败:
接口响应:
公众号appid:wx4b24e1a1b4b065b9
请求时间:
81.69.103.147 - - [21/Apr/2022:10:05:37 +0800] "GET /wx?signature=c8b0775c496b0405c4cc1608e46bcbaf3d2c19e6&echostr=3618148806617316341×tamp=1650506737&nonce=385327338 HTTP/1.0" 200 21 "-" "Mozilla/4.0"
你返回失败的原因是:直接return echostr ,实际的结果是: "echostr" ("5288532471852235049")这样子 , 可以改成下面的 from fastapi import Request return Response(content=echostr)
他的结果直接是:echostr
return int(echostr)
试试
你好,你可以参考:https://developers.weixin.qq.com/community/develop/doc/0002246df549089553bd69bdc51c00
wx4b24e1a1b4b065b9
请求时间:
81.69.103.147 - - [21/Apr/2022:10:05:37 +0800]谢谢