1. 登錄github,獲取csrf,cookie (c1);html
2. 發用post請求登錄,攜帶用戶密碼和csrf,cookie(c1),進行受權,並獲取cookie(c2);git
3. 把c2更新到c1;github
4. 攜帶c1能夠訪問後臺cookie
import requests from bs4 import BeautifulSoup # 第一步 獲取 csrf r1 = requests.get(url="https://github.com/login") soup = BeautifulSoup(r1.text, features="html.parser") token= soup.find(name="input", attrs={"name": "authenticity_token"}).attrs.get("value") r1_cookie = r1.cookies.get_dict() # 第二步 發送post請求,攜帶用戶和密碼,攜帶cookie,後臺進行受權 r2 = requests.post( url="https://github.com/session", cookies=r1_cookie, data={ 'commit': 'Sign in', 'utf8': '✓', 'authenticity_token': token, 'login': 'xxxxxxxxx', 'password': 'xxxxxxxx', } ) # 根據狀態碼 # 響應頭 location # 錯誤提示 判斷是否登錄成功 print(r2.status_code) r2_cookie = r2.cookies.get_dict() r1_cookie.update(r2_cookie) # 第三步:範文我的頁面,攜帶cookie r3 = requests.get( url="https://github.com/gaoshao52/SamCRM", cookies=r1_cookie ) print(r3.text)