改指令碼模擬了用瀏覽器登入知乎
首先瀏覽器再申請開啟網頁(訪問伺服器時)會向伺服器傳送get post請求,主要是以報文的形式傳輸,首先看看瀏覽器的工作過程
1 在開啟知乎時瀏覽器傳送到報文是
2 在登陸時
填寫好資訊後傳送的是_xsrf,password,remember_me,email所以只要用指令碼帶為傳送這些即可
指令碼部分:
在python用urllib包裡的模組來提供一系列用於操作url的功能,這次主要用到request和parse模組
1 其中傳送的乙個引數_xsrf是首次開啟知乎傳送給瀏覽器的,所以首先要擷取這個引數
用urllib.request的urlopen(url,data)方法(opener.open()一樣)傳送get,返回http響應的物件,可以用read()讀出來最好加上decode(『utf-8』)以免出錯
2 讀取出來html之後要在這麼多的字串中尋找_xsrf,可以用正規表示式
python中和正規表示式相關的包在re中,其中的findall(『表示式』,str)就可以在str中找到與之匹配的字串re.findall('name\=\"_xsrf\"\s+value\=\"(\w*)\"',data)並會返回
小括號中的內容
3 新建乙個opener用來新增header用來偽裝瀏覽器和處理cookie(在包 http.cookiejar中)
有了cookie就能實現自動登入,接下來如果繼續訪問,直接採用opener.open()就可以用儲存的cookie開啟
4 post的data資料(字典可以)要通過parse.urlencode()轉化為bytes格式才能傳輸,記得加encode(『utf-8』)不然報錯
最後就登入成功了
ssh無金鑰登陸指令碼
bin sh ssh keygen t rsa p f ssh id rsa cp ssh id rsa.pub ssh authorized keys bin sh read p 輸入遠端伺服器ip ip ssh copy id o stricthostkeychecking no i ssh i...
QTP的登陸指令碼設計
目標如下 1.指令碼需要處理成功和失敗的使用者的登陸 2.資料驅動 設計開發指令碼如下 第一步錄製指令碼如下 browser 智慧型變電巡檢儀系統 4.0 page 智慧型變電巡檢儀系統 4.0 webedit txtloginname set 呂巍 browser 智慧型變電巡檢儀系統 4.0 p...
HttpClient 模擬登陸知乎
最近做爬蟲相關工作,我們平時用httpwebrequest比較多,每乙個url都要建立乙個httpwebrequest例項,而且有些 驗證比較複雜,在登陸及後續抓取資料的時候,每次請求需要把上次的cookie傳遞給這次請求。記得這篇部落格 結尾,dudu總結了 httpclient最與眾不同的地方是...