[英]How to login using requests in Python?
首先,登录请求和你拥有的代码是不同的。
发送的密码使用 RSA 加密。 我不确定它是否在每次请求时都发生了变化,或者加密的逻辑是否已修复。 所以你需要确保发送的密码是加密的
import requests
url = 'https://creis.fang.com/'
s = requests.Session()
s.get(url)
data = {
"sloginID": "test",
"sPassword": "8dfddc7151749b91cedc965dec30295f34f5ab3f46679d3fa8c8d917474d162c63adcc6c9c0ea42f4cfc3fdf06bf98e4a9225f6fb8690874a028f17f2f01726259b4a32fc49e3e287a7832b6799916531603d06763b8309ca144f8c6828a9273bd4612d6b759193ee69c3608e3072f914e9af05ab2ea4bf1ab12816995f51711",
"sHID":"",
"sTempCode":"",
"product": "sfangdata",
"rsakey":"",
"l": "cn"
}
res = s.post("https://creis.fang.com/login/login/?r=0.6500200817926693", data=data)
print (res.json())
在那之后,我得到了错误
{'code': 'error', 'msg': '登录器权限已过期!', 'product': 'sfangdata', 'other': 'login'}
这是因为我没有正确的凭据
在这种情况下,在浏览器发送请求之前,密码在 javascript 中加密。
在这一点上,我建议使用类似https://selenium-python.readthedocs.io/ 的内容而不是请求。
这样您就不必对事物的 javascript 部分进行逆向工程,并且能够轻松登录。
如果您随后需要继续处理请求,您可以尝试检索 selenium 生成的 cookie 并继续处理请求,但我建议对所有内容都使用 selenium。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.