亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

python requests模擬登陸github的實現方法

2024-09-09 19:03:27
字體:
來源:轉載
供稿:網友

1. Cookie 介紹

HTTP 協議是無狀態的。因此,若不借助其他手段,遠程的服務器就無法知道以前和客戶端做了哪些通信。Cookie 就是「其他手段」之一。 Cookie 一個典型的應用場景,就是用于記錄用戶在網站上的登錄狀態。

用戶登錄成功后,服務器下發一個(通常是加密了的)Cookie 文件。 客戶端(通常是網頁瀏覽器)將收到的 Cookie 文件保存起來。 下次客戶端與服務器連接時,將 Cookie 文件發送給服務器,由服務器校驗其含義,恢復登錄狀態(從而避免再次登錄)。

2.requests使用cookie

當瀏覽器作為客戶端與遠端服務器連接時,遠端服務器會根據需要,產生一個 SessionID,并附在 Cookie 中發給瀏覽器。接下來的時間里,只要 Cookie 不過期,瀏覽器與遠端服務器的連接,都會使用這個 SessionID;而瀏覽器會自動與服務器協作,維護相應的 Cookie。

requests中,也是這樣。我們可以創建一個requests.Session,爾后在該 Session 中與遠端服務器通信,其中產生的 Cookie,requests會自動為我們維護好。

3. POST 表單

post 方法可以將一組用戶數據,以表單的形式發送到遠端服務器。遠端服務器接受后,依照表單內容做相應的動作。

調用requests的 POST 方法時,可以用data參數接收一個 Python 字典結構。requests會自動將 Python 字典序列化為實際的表單內容。例如:

import requestscs_url  = 'http://httpbin.org/post'my_data  = {  'key1' : 'value1',  'key2' : 'value2'}r = requests.post (cs_url, data = my_data)print r.content

4. 實際模擬登錄 GitHub 試試看

模擬登錄的第一步,首先是要搞清楚我們用瀏覽器登錄時都發生了什么。

GitHub 登錄頁面是https://github.com/login。我們首先清空瀏覽器 Cookie 記錄,然后用 Chrome 打開登錄頁面。填入 Username 和 Password 之后,我們打開 Tamper Chrome 和 Chrome 的元素審查工具(找到 Network 標簽頁),之后點登錄按鈕。

在 Tamper Chrome 中,我們發現:雖然登錄頁面是https://github.com/login,但實際接收表單的是https://github.com/session。若登錄成功,則跳轉到https://github.com/首頁,返回狀態碼200。

而在 Chrome 的審查元素窗口中,我們可以看到提交給session接口的表單信息。內里包含

commit utf8 authenticity_token login password

其中,commitutf8兩項是定值;loginpassword分別是用戶名和密碼,這很好理解。唯獨authenticity_token是一長串無規律的字符,我們不清楚它是什么。

POST 動作發生在與session接口交互之前,因此可能的信息來源只有login接口。我們打開 login 頁面的源碼,試著搜索authenticity_token就不難發現有如下內容:

<input name="authenticity_token" type="hidden" value="......" />

原來,所謂的authenticity_token是明白寫在 HTML 頁面里的,只不過用hidden模式隱藏起來了。為此,我們只需要使用 Python 的正則庫解析一下,就好了。

import requestsimport relogin_url = 'https://github.com/login'user = 'user' //具體賬號password = 'password'  //具體密碼user_headers = {  'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36',  'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',  'Accept-Encoding' : 'gzip',  'Accept-Language' : 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4'}session = requests.Session()response = session.get(login_url, headers = user_headers)pattern = re.compile(r'<input name="authenticity_token" type="hidden" value="(.*)" />')authenticity_token = pattern.findall(response.content)[0]login_data = {    'commit' : 'Sign in',    'utf8' : '%E2%9C%93',    'authenticity_token' : authenticity_token,'login' : user,    'password' : password}session_url = 'https://github.com/session'response = session.post(session_url, headers = user_headers, data = login_data)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品一区| 久久久综合免费视频| 国产精品福利无圣光在线一区| 欧美性猛交xxxx久久久| 亚洲人成网站777色婷婷| 国产精品网站入口| 国产精品第二页| 欧美野外猛男的大粗鳮| 欧美高清自拍一区| 国产精品久久电影观看| 精品久久久免费| 欧美日韩成人在线观看| www欧美日韩| 中文字幕日韩在线视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美日韩中文字幕综合视频| 久久久国产视频| 亚洲精品国产精品自产a区红杏吧| 91中文字幕在线| 91国产一区在线| 日韩av免费在线观看| 精品国产电影一区| 欧美区二区三区| 亚洲国内精品视频| 中文字幕日韩欧美在线| 日韩一区二区精品视频| 欧美视频一区二区三区…| 色综合视频一区中文字幕| 97碰碰碰免费色视频| 国产精品色午夜在线观看| 91色视频在线观看| 午夜美女久久久久爽久久| 欧美精品做受xxx性少妇| 81精品国产乱码久久久久久| 精品久久久一区二区| 亚洲欧美国产精品久久久久久久| 日韩天堂在线视频| 狠狠操狠狠色综合网| 91精品免费久久久久久久久| 国产91精品黑色丝袜高跟鞋| 亚洲一区二区三区四区在线播放| 亚洲欧美一区二区三区四区| 亚洲精品中文字幕av| 久久精品成人欧美大片古装| 欧美日韩免费观看中文| 狠狠做深爱婷婷久久综合一区| 欧美性猛交丰臀xxxxx网站| 亚洲精品欧美日韩专区| 日韩在线视频国产| 久久久国产影院| 亚洲乱亚洲乱妇无码| 黄色成人在线免费| 亚洲xxxx在线| 成人网在线免费看| 成人h猎奇视频网站| 韩剧1988在线观看免费完整版| 国产一区二区色| 国产精品一二区| 2019av中文字幕| 精品自拍视频在线观看| 国产色综合天天综合网| 久久久久久香蕉网| 日韩大胆人体377p| 亚洲人成网站免费播放| 久久激情视频免费观看| 国产精品第一第二| 亚洲成人久久网| 性亚洲最疯狂xxxx高清| 国产在线精品成人一区二区三区| 狠狠躁夜夜躁人人爽超碰91| 亚洲欧美日本伦理| 久久免费国产精品1| 亚洲第五色综合网| 日韩一区二区久久久| 97avcom| 欧美日韩国产在线| 欧美激情一二区| 国产午夜精品一区理论片飘花| 亚洲sss综合天堂久久| 日韩在线观看网站| 91老司机精品视频| 92版电视剧仙鹤神针在线观看| 神马久久久久久| 欧美成人在线网站| 2019亚洲男人天堂| 亚洲第一色在线| 欧美激情精品久久久久久| 91免费看片在线| 亚洲欧美日韩一区二区在线| 538国产精品一区二区免费视频| 日本欧美一二三区| 国产ts人妖一区二区三区| 国产欧美一区二区三区久久人妖| 国产精品久久一区| 国内成人精品视频| 久久久精品视频成人| 亚洲国产小视频| 亚洲欧美中文日韩v在线观看| 日韩美女写真福利在线观看| 亚洲视频自拍偷拍| 亚洲欧美制服丝袜| 国产精品白嫩初高中害羞小美女| 色无极影院亚洲| 亚洲精品720p| 色偷偷88888欧美精品久久久| 亚洲有声小说3d| 久久久久久九九九| 久青草国产97香蕉在线视频| 最近的2019中文字幕免费一页| 91性高湖久久久久久久久_久久99| 亚洲福利小视频| 成人97在线观看视频| 最近2019年中文视频免费在线观看| 国产精品久久久久久av福利| 国产成人一区二区三区电影| 亚洲跨种族黑人xxx| 羞羞色国产精品| 亚洲综合大片69999| 亚洲成人久久一区| 国产精品91在线观看| 91影视免费在线观看| 国产不卡av在线| 亚洲精品中文字幕有码专区| 91亚洲永久免费精品| 欧美一级视频在线观看| 亚洲成人激情在线| 国产精品亚洲视频在线观看| 91性高湖久久久久久久久_久久99| 亚洲精品成a人在线观看| 日韩成人在线电影网| 午夜伦理精品一区| 国内外成人免费激情在线视频网站| 欧美日韩精品中文字幕| 日韩免费观看高清| 国产偷亚洲偷欧美偷精品| www.久久撸.com| 亚洲欧美日韩精品久久| 国产美女精品免费电影| 欧美性高潮在线| 亚洲人成人99网站| 国产精品电影网站| 亚洲成人久久网| 国产精品久久久999| 亚洲成人精品av| 欧美在线欧美在线| 中文字幕亚洲无线码a| 国产精品一区久久| 亚洲女人天堂成人av在线| 亚洲欧美在线一区| 狠狠色狠狠色综合日日小说| 欧美激情乱人伦一区| 中文字幕自拍vr一区二区三区| 亚洲激情免费观看| 日韩欧美成人区| 国产一区二区在线播放| 国产精品电影网| 国产精品久久久久77777| 欧美另类交人妖| 亚洲欧洲黄色网| 欧美日韩精品在线| 亚洲最大福利视频| 国产在线精品自拍| 欧美成人一区在线| 热久久99这里有精品|