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

首頁 > 開發 > Python > 正文

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

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

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
欧美日韩亚洲精品一区二区三区| www.日韩视频| 国产91在线播放九色快色| 亚洲性生活视频| 视频在线观看一区二区| 国产精品国产三级国产aⅴ9色| 成人国产精品久久久久久亚洲| 欧美夫妻性生活视频| 亚洲女人初尝黑人巨大| 成人国产精品色哟哟| 欧美激情在线播放| 久久久免费在线观看| 69视频在线播放| 精品亚洲永久免费精品| 久久九九亚洲综合| 亚洲国产精彩中文乱码av在线播放| 国产欧美日韩专区发布| 国产精品久久久久久久久久久久久久| 色综合色综合网色综合| 国产99在线|中文| 亚洲激情电影中文字幕| 96国产粉嫩美女| 92版电视剧仙鹤神针在线观看| 68精品久久久久久欧美| 国产日韩中文字幕| 国产精品成熟老女人| 亚洲第一天堂av| 国产精品视频免费在线| 国产精品久久中文| 欧美片一区二区三区| 日韩中文字幕在线免费观看| 欧美在线视频导航| 亚洲xxxx妇黄裸体| 国产精品成人va在线观看| 欧美高清视频在线播放| 日韩欧美在线网址| 欧美性高潮床叫视频| 97精品伊人久久久大香线蕉| 精品久久久久久久中文字幕| 在线精品视频视频中文字幕| 亚洲网在线观看| 日韩高清欧美高清| 成人免费观看49www在线观看| 91在线观看免费高清| 欧美极品xxxx| 欧美成年人视频网站| 精品视频在线导航| 国产精品大片wwwwww| 中文字幕欧美日韩va免费视频| 国产精品最新在线观看| 国产91露脸中文字幕在线| 欧美日韩一二三四五区| 国产一区二区在线免费| 亚洲免费av网址| 欧美色图在线视频| 亚洲欧洲自拍偷拍| 亚洲第一男人天堂| 国产精品女视频| 尤物九九久久国产精品的分类| 51色欧美片视频在线观看| 精品久久香蕉国产线看观看亚洲| 在线观看国产成人av片| 91精品国产综合久久久久久蜜臀| 92福利视频午夜1000合集在线观看| 亚洲国产精品久久久久秋霞蜜臀| 日韩av中文字幕在线免费观看| 久久99国产精品久久久久久久久| 欧美激情乱人伦| 色噜噜狠狠色综合网图区| 国产噜噜噜噜久久久久久久久| 欧美成人免费播放| 亚洲影视中文字幕| 欧美在线一区二区视频| 欧美激情按摩在线| 日韩av影院在线观看| 亚洲国产精品网站| 亚洲人成网在线播放| 欧美激情一区二区久久久| 日韩精品视频免费在线观看| 亚洲国产女人aaa毛片在线| 久久影视电视剧凤归四时歌| 中文字幕日韩欧美在线| 精品视频在线导航| 欧美日韩精品中文字幕| 国产日韩欧美在线视频观看| 欧美诱惑福利视频| 日韩av免费在线播放| 国模精品一区二区三区色天香| 91国产精品视频在线| 亚洲免费av片| 日韩av电影在线免费播放| 欧美最猛性xxxx| 成人国产精品一区二区| 亚洲福利影片在线| 日韩成人av网址| 日韩中文字幕不卡视频| 亚洲欧洲美洲在线综合| 亚洲白虎美女被爆操| 亚洲аv电影天堂网| 日韩中文有码在线视频| 亚洲国产婷婷香蕉久久久久久| 91成品人片a无限观看| 神马久久久久久| www.欧美视频| 日韩av综合网| 国产成人精品免高潮费视频| 中文字幕不卡av| 国内精品免费午夜毛片| 国产精品情侣自拍| 亚洲成人在线视频播放| 欧美日韩免费网站| 91高清视频在线免费观看| 中文字幕亚洲图片| 久久久国产91| 98精品国产自产在线观看| 九九热在线精品视频| 亚洲人成网站免费播放| 亚洲第一av在线| 色七七影院综合| 日韩在线中文视频| 国产精品久久久久久久app| 欧美激情欧美狂野欧美精品| 久久av资源网站| 国产精品主播视频| 亚洲精品美女视频| 亚洲欧美三级伦理| 欧美激情女人20p| 亚洲a级在线观看| 国产精品亚洲自拍| 不卡中文字幕av| www高清在线视频日韩欧美| 亚洲女人初尝黑人巨大| 中文字幕久久亚洲| 懂色aⅴ精品一区二区三区蜜月| 中文国产亚洲喷潮| 黑人巨大精品欧美一区二区| 亚洲天堂免费视频| 欧美老肥婆性猛交视频| 97国产真实伦对白精彩视频8| 精品亚洲va在线va天堂资源站| 日韩中文字幕视频在线| 91国产精品91| 成人国产精品一区| 伊人亚洲福利一区二区三区| 亚洲女人被黑人巨大进入| 精品国产一区二区三区久久狼5月| 姬川优奈aav一区二区| 插插插亚洲综合网| 青青a在线精品免费观看| 国产精品久久久久免费a∨| 成人亚洲综合色就1024| 成人久久一区二区| 久久免费国产视频| 亚洲影院色在线观看免费| 欧美高清在线播放| 国语对白做受69| 亚洲精品美女久久| 色综合色综合久久综合频道88| 97涩涩爰在线观看亚洲| 91精品视频在线免费观看| 欧美国产日韩一区二区三区| 91久久精品日日躁夜夜躁国产| 久久久久久久久久久网站| 亚洲精品av在线|