放棄するエントリから1日目パイソン---- HTTPS URLあまりにログイン認証

「」「」

トークンのランダムな文字列を取得し、#1 
'「」
トークンのランダムな文字列のための1.ログインページ
    要求のURL:   
            https://github.com/login 
            
    リクエストメソッドを:
        GET 
            
    リクエストヘッダを:     
        COOKIES 
        のUser-Agent :Mozillaの/ 5.0(Macintosh版、インテルのMac OS X-10_14_3)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 75.0.3770.100サファリ/ 537.36 
    
2.解析およびトークン文字列の抽出
#定期
の<input type = "隠された"名前を = " authenticity_token "値="(。*?)「/> 
'' ' 
のインポートが要求した
インポートの再

https://github.com/login「LOGIN_URL =' 
リクエストヘッダ#ログインページの
login_header =を{
    'ユーザーエージェント': 'のMozilla / 5.0(Macintosh版、インテルのMac OS X 10_14_3)のAppleWebKit / 537.36(ヤモリのようにKHTML、)クローム/ 75.0.3770.100サファリ/ 537.36' 
} 

login_res = requests.get(URL = LOGIN_URL、ヘッダ= login_header) プリント(login_res.text) 
解析提取トークン字符串
authenticity_token = re.findall(
    '<入力タイプ= "隠された"名前= "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の
            
    リクエストヘッダ:
        クッキー
        User--エージェント:Mozillaの/ 5.0(Macintosh版、インテルのMac OS Xの-10_14_3)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 75.0.3770.100サファリ/ 537.36 
    
    リクエストボディ:
        コミット:ログイン
        UTF8:✓ 
        authenticity_token:
        UBXaPbyTraHYf9KzcMjmc4djtmqHOeiyUkKssP6drR0X67mcZJJnfqnMT / QnizSRoMdkK8D1YupHoADr31OHew == 
        njrbYmGyInLNiNPpvpgxHUDfZ79O1AHDrrDxjSs8HchVBOaAZN2e2v8 + DyxbMGiUE + pOGaIxdC == ++ xSMNAkEZVg 
        ログイン:キングカバーグランド虎
        パスワード:上り坂の戦いラット
        webauthn-サポート:サポートされている     
'' ' セッションログインURL
session_url = 'https://github.com/session' 

#请求头信息
session_headers = { 
    'のUser-Agent': 'のMozilla / 5.0(Macintoshでは、インテルのMac OS X 10_14_3)のAppleWebKit / 537.36(KHTML、ヤモリ等)クローム/ 75.0.3770.100サファリ/ 537.36' 

} 

#请求体信息
form_data = { 
    "コミット": "サインイン"、
    "UTF8": "✓"を、
    "authenticity_tokenを":authenticity_tokenを、
    "ログイン": "****"、
    "パスワード": "*****"を、
    「webauthn -support ": ""サポート
} 
session_res = requests.post(URL = session_url、
                            ヘッダ= session_headers、
                            クッキー= login_cookies、
                            データ= form_data)

:Fとしてオープン( 'github3.html'、 'W'、符号化= 'UTF-8')と
    f.write(session_res.text)

  

おすすめ

転載: www.cnblogs.com/tankfaledeblog/p/11117085.html