收藏
回答

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)


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签