python 后台获取微信用户信息(小程序) 在解密的时候第一次总是报错, 第二次才会成功?
WXBizDataCrypt.py
pc = WXBizDataCrypt(appid, session_Key)
return pc.decrypt(encryptedData, iv)
pc.decrypt 报错ValueError: Extra data: line 1 column 2 - line 2 column 168 (char 1 - 212)
def get_wechat_info(request):
data = request.DATA.copy()
code = data.get("code")
encryptedData = data.get("encryptedData")
iv = data.get("iv")
appid = data.get('appid')
secret = CenterAppInfo.objects.get(app_id=appid).app_secret
res = requests.get(
url="https://api.weixin.qq.com/sns/jscode2session",
params={
"appid": appid,
"secret": secret,
"js_code": code,
"grant_type": 'authorization_code'
}
)
if res:
session_Key = res.json().get("session_key")
if all([session_Key, iv, encryptedData]):
pc = WXBizDataCrypt(appid, session_Key)
return pc.decrypt(encryptedData, iv)