2 2
Heim >Backend-Entwicklung >Python-Tutorial >Ein Beispiel-Tutorial zur Verwendung der Request-Bibliothek zur Simulation der Anmeldung in Python
Ein so einfaches (und unsicheres) Anmeldeformular sieht man nur noch selten. Das Anmeldeformular der Untertitelbibliothek lautet wie folgt, wobei irrelevanter Inhalt weggelassen wird:
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>
Durch die Paketerfassungsanalyse kann festgestellt werden, dass der Benutzername und das Passwort nicht verschlüsselt sind:
Verwenden Sie POST direkt, um die Anmeldung zu simulieren:
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
Erfolgreich angemeldet, den JS-Code auf der zurückgegebenen Seite analysiert und gefunden:
href = document.getElementById('href').href; location.href = href;
Gibt an, dass sich die Seite, zu der gesprungen werden soll, im Hyperlink mit der ID href befindet:
<a id="href" href="/User/index.html">跳转</a>
Get the Seite, um zur Seite zu springen, und dann, ob der Anmeldestatus beibehalten werden kann, wenn versucht wird, eine neue Seite zu öffnen:
1 href=''+bs.find(id='href').attrs['href']2 r2=ss.get(href)3 print(BeautifulSoup(r2.text,'lxml').title.text)#首页 - 用户中心 - 字幕库(zimuku.net)
Die Worte „Startseite – Benutzercenter“ werden gedruckt, und der Anmeldestatus wird erfolgreich beibehalten.
Das obige ist der detaillierte Inhalt vonEin Beispiel-Tutorial zur Verwendung der Request-Bibliothek zur Simulation der Anmeldung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!