首页 > 后端开发 > Python教程 > 在Python中用Request库模拟登录的实例教程

在Python中用Request库模拟登录的实例教程

PHP中文网
发布: 2017-06-20 13:54:08
原创
2241 人浏览过

如此简单(不安全)的登录表单已经不多见了。字幕库的登录表单如下所示,其中省去了无关紧要的内容:

1 <form class="login-form" action="/User/login.html" method="post">2     <input type="hidden" name="referer" value="www.zimuku.net/">3     <input type="text" id="inputEmail" datatype="*1-16" value="" name="username">4     <input type="password" id="inputPassword" datatype="*6-20" name="password">5     <input type="checkbox" name="isremember" value="1" checked="">6     <button type="submit" class="btn submit-btn">登 陆</button>7 </form>
登录后复制

通过抓包分析,可以发现用户名和密码都没有被加密:

直接使用POST来模拟登录:

 1 import requests 2 from bs4 import BeautifulSoup 3  4 url='' 5 data={'referer':'','username':'***','password':'***','isremember':'1'} 6  7 #创建会话 8 session=requests.session() 9 #模拟登录10 r=session.post(url,data=data)11 #解析页面12 bs=BeautifulSoup(r.text,'lxml')13 14 print(bs.body.text) #登录成功!页面自动 跳转 等待时间: 1
登录后复制

成功登录,分析返回页面中的js代码,发现有:

href = document.getElementById('href').href;
location.href = href;
登录后复制

说明要跳转到的页面在id为href的超链接中:

<a id="href" href="/User/index.html">跳转</a>
登录后复制

获取要跳转到的页面,然后尝试打开新页面时登录状态能否被保持:

1 href=''+bs.find(id='href').attrs['href']2 r2=ss.get(href)3 print(BeautifulSoup(r2.text,'lxml').title.text)#首页 - 用户中心 - 字幕库(zimuku.net)
登录后复制

打印出了“首页 - 用户中心”字样,成功保持登录状态。

以上是在Python中用Request库模拟登录的实例教程的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板