首頁 > 後端開發 > Python教學 > 在Python中用Request庫模擬登入的實例教程

在Python中用Request庫模擬登入的實例教程

PHP中文网
發布: 2017-06-20 13:54:08
原創
2245 人瀏覽過

如此簡單(不安全)的登入表單已經不多見了。字幕庫的登入表單如下所示,其中省去了無關緊要的內容:

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
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板