2 2

 >  기사  >  백엔드 개발  >  Request 라이브러리를 사용하여 Python에서 로그인을 시뮬레이션하는 방법에 대한 예제 튜토리얼

Request 라이브러리를 사용하여 Python에서 로그인을 시뮬레이션하는 방법에 대한 예제 튜토리얼

PHP中文网
PHP中文网원래의
2017-06-20 13:54:082192검색

이렇게 간단하고 안전하지 않은 로그인 양식은 더 이상 보기 어렵습니다. 자막 라이브러리의 로그인 형식은 다음과 같습니다. 관련 없는 내용은 생략되었습니다.

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)

"홈 페이지 - 사용자 센터"라는 단어를 인쇄하고 로그인 상태를 성공적으로 유지했습니다.

위 내용은 Request 라이브러리를 사용하여 Python에서 로그인을 시뮬레이션하는 방법에 대한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.