github에 로그 할 day01는 POST 요청


첫째, 임의의 문자열 토큰을 얻을
임의의 문자열의 로그인 페이지에 액세스 한 토큰을
요청의 URL :
https://github.com/login

요청 방법 :
GET

요청 헤더를 :
쿠키
사용자 에이전트 : 모질라 / 5.0 (매킨토시, 인텔 맥 OS를 X 10_14_3) AppleWebKit / 537.36 (KHTML 게코 같은) 크롬 / 75.0.3770.100 사파리 / 537.36

II. 분석하고 토큰 문자열 추출
# 일반
<입력 유형 = "숨겨진"이름 =이 ( "= 값"authenticity_token ". *?) "/>


소스
수입 요청이
 가져올 

LOGIN_URL = ' https://github.com/login '

# 로그인 요청 헤더 정보 페이지
login_header = {
     ' 사용자 에이전트 ' : ' 모질라 / 5.0 (윈도우 NT 10.0; Win64를; 64) AppleWebKit / 537.36 (KHTML, 도마뱀 붙이 등) ' 
} 

login_res = requests.get (URL = LOGIN_URL, 헤더 = login_header)
 #의 인쇄 ( login_res.text)

# 구문 분석 토큰 문자열을 추출
authenticity_token = re.findall (
     ' <input 타입 = "숨겨진"NAME = "authenticity_token"값 = ". (*?)"/> ' , 
    login_res.text, 
    re.S 
) [0] 
인쇄 (authenticity_token)

# 쿠키는 정보의 로그인 페이지를 구하는
# 인쇄 (유형 (login_res.cookies)) 
#에 인쇄 (유형 (login_res.cookies.get_dict ())) 
login_cookies login_res.cookies.get_dict = ()

# 2 GitHub의 등록 시작
'' '
: POST 요청 자동 github에 로그합니다
: URL의 요청
https://github.com/session

요청 방법 :
POST의

요청 헤더를 :
쿠키
사용자 에이전트 : 모질라 / 5.0 (매킨토시, 인텔 맥 OS는 X-10_14_3을 ) 537.36 같은 (KHTML, AppleWebKit / 게코) 크롬 / 75.0.3770.100 사파리 / 537.36

: 요청 본문
로그인 : 커밋
UTF8 : ✓
authenticity_token :
UBXaPbyTraHYf9KzcMjmc4djtmqHOeiyUkKssP6drR0X67mcZJJnfqnMT / QnizSRoMdkK8D1YupHoADr31OHew ==
njrbYmGyInLNiNPpvpgxHUDfZ79O1AHDrrDxjSs8HchVBOaAZN2e2v8 pOGaIxdC ++ + + DyxbMGiUE xSMNAkEZVg ==
로그인 : 왕 커버 호랑이
비밀번호 : 오르막 전투 쥐
webauthn 지원 : 지원
'' '
# 세션 로그인 URL을
session_url = ' https://github.com/session '

# 요청 헤더
session_headers = {
     ' 사용자 에이전트 ' : ' 모질라 / 5.0 (윈도우 NT 10.0; Win64를; 64) AppleWebKit / 537.36 (KHTML, 도마뱀 붙이 등) ' 

}

# - 정보 요청
form_data = {
     " 커밋 " : " 로그인 " ,
     " UTF8 " : " ✓를 " ,
     " authenticity_token을 " : authenticity_token를,
     " 로그인 " : " cl0007 " ,
     " 비밀번호 " : " cl875091554를 " ,
     " webauthn 지원을 " : " 지원 "
} 
session_res = requests.post (URL =session_url, 
                            헤더 = session_headers, 
                            쿠키 =의 login_cookies, 
                            데이터 = form_data) 

오픈 (와 ' github3.html ' , ' w ' 인코딩 = " UTF-8 " )와 같은 F : 
    f.write (session_res.text)

 

추천

출처www.cnblogs.com/cl007/p/11115605.html