先访问页面并提取executionsess = requests.session() r = sess.get(\'https://healthreport.zju.edu.cn/ncov/wap/default/index\') execution = re.search(\'name="execution" value="(.*?)"\', r.text).group(1)
获取密码加密需要的参数r = sess.get(\'https://zjuam.zju.edu.cn/cas/v2/getPubKey\') modulus = r.json()[\'modulus\'] exponent = r.json()[\'exponent\']
加密密码ctx = execjs.compile(jscode) encrypted_password = ctx.call(\'encrypt\', username, password)
发送登录请求data = { \'username\': username, \'password\': encrypted_password, \'authcode\': \'\' \'execution\': execution, \'_eventId\': \'submit\' } r = sess.post(post_url, data=data)
之后就可以进行自动打卡的操作了。