2017-08-08 113 views
0

我已經找遍了所尋找的解決方案,但找不到它。基本上,我正在開發一個工具,它從文本文檔中獲取URL列表,使用您的用戶名/密碼登錄並返回哪些工作。Python請求:檢查登錄是否成功

我有登錄找出所有,但如果登錄工作,我怎麼實際返回?在列表中輸入的網站不一定會使用cookie,並且將在各種平臺上開發。

這裏是我的登錄代碼:

r = requests.post(action, data=values, verify=False) 
print(r.headers) 
print(r.status_code) 
print(r.content) 
print(r.url) 
sleep(1) 

我想一切後第一行是if語句如果登錄實際工作,但我無法弄清楚如何真正確定。

謝謝。

+0

status_code 200意味着ok –

+0

如果在成功登錄和失敗登錄之間的響應中沒有絕對的區別,那麼服務器端可能會做出非常錯誤的事情。如果有差異,請發佈代碼的結果,以顯示這兩種情況下的響應內容 – Guillaume

回答

0

狀態位將讓你知道

r = requests.post(action, data=values, verify=False) 
authi = requests.get(r.url, auth=('user', 'pass')) 

>>> authi.status_code 
200 

您將在這裏找到更多的狀態位信息

STATUS CODE DEFINITION

+0

我試過了,但無論它是否實際登錄,它都會返回200. – fdev17

+0

您使用的是django還是其他任何退版? –

+0

我不是,只有基本Python和下列庫: 導入請求 從BS4進口BeautifulSoup 不時進口睡眠 進口的urllib.parse – fdev17

0

您可以解析r.content來檢查,如果您登錄與否,像串success或者某個標誌表示您登錄。 如果登錄用戶和登錄用戶的r.content相同,則可以請求一個需要登錄並找到要檢查的標誌的特殊鏈接。