知乎登陸指令碼

2021-07-10 04:26:58 字數 1048 閱讀 8970

改指令碼模擬了用瀏覽器登入知乎

首先瀏覽器再申請開啟網頁(訪問伺服器時)會向伺服器傳送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最與眾不同的地方是...