我正在尝试使用Python请求模块对一个网站进行身份验证,然后从中检索一些信息。这是页面的登录部分:
<div>
<label class="label-left" for="username"> … </label>
<input id="username" class="inputbox" type="text" size="18" alt="username" name="username"></input>
</div>
<div>
<label class="label-left" for="passwd"> … </label>
<input id="passwd" class="inputbox" type="password" alt="password" size="18" name="passwd"></input>
</div>
<div> … </div>
<div class="readon">
<input class="button" type="submit" value="Login" name="Submit"></input>
我现在要做的是:
^{pr2}$问题是,即使在身份验证之后,我也得到了相同的登录页面。响应代码是200,所以一切正常。我错过了什么?在
更新
多亏了这条评论,我分析了post请求,发现其中有一些隐藏的参数。其中,有一些参数的值在不同的请求之间变化。出于这个原因,我只是用beauthoulsoup获取它们,然后更新post请求的有效负载,如下所示:
with requests.Session() as s:
login_page = s.get(login)
soup = BeautifulSoup(login_page.text)
inputs = soup.findAll(name='input',type='hidden')
for el in inputs:
name = el['name']
value = el['value']
payload[name]=value
s.post(login, data=payload)
ans = s.get(url)
尽管如此,我仍然得到登录页面。还有其他一些影响因素吗?在
目前没有回答
相关问题 更多 >
编程相关推荐