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)