파이썬 requests 관련 질문
조회수 678회
requests 모듈을 이용하여 학교 포탈에 로그인 후 필요한 정보를 크롤링하려고 합니다.
제가 request를 처음 써봐서 그런데
로그인페이지에 아이디 비번을 받아서 포스트 ->A로 포스트->B로 포스트->메인페이지 겟
의 과정으로 로그인이 이루어진다고 했을때 첫번째에 아이디 비번만 포스트 해주면 뒷부분은 자동으로
되는것인가요? 그런데 자꾸 로그인이 안되는것 같습니다.
1 답변
-
안녕하세요
일단 해당 소스코드가 와 타겟 홈페이지에 대한 정보가 없는 관계로 개념적인 말씀만 드리겠습니다.
최초 접속하여 전달받은 쿠키가
requests.post
를 통해POST
메소드를 전달할때 포함되어야 이후에 값에 대해서 받을 수 있습니다. 또한 일련의 통신에 대해서 하나의Session
으로 묶여있어야 로그인 완료에 따른redirect
페이지를 받을 수 있습니다.예)
import requests url = 'target.com/login.asp' #로그인 action page data = {'id': 'howoni', 'pw',':D'} #post multipart/form-data 기준 header = {'User-Agent': 'answer'} #html 헤더 r = requests.session() #request 세션 r = requests.get('target.com') #타겟 페이지 접속 c = r.cookies.get_dict() #타겟에 대한 쿠키정보 딕셔너리형태로 가져옴. r = requests.post(url, data, headers=header, cookies=c) #헤더,쿠키를 포함한 post 메소드 전달 print(r.text) #로그인완료되어 redirect 된 페이지에 대한 text 출력
Pentest 목적으로 로그인점검할때 위와 같은스크립트 베이스로 작성합니다. 질문내용에 정확한 정보가 없어 정확한 답은 아닐지래도 참고 해주시면 좋을거 같습니다.
댓글 입력