2016-06-15 62 views
2

我想測試這個請求是否工作。有沒有辦法檢查html或做geturl()的時候使用會話請求?如何檢查我是否登錄?

#!/usr/bin/env python 2.7.11 
# 
import requests 


headers = {'User-Agent': 'Mozilla/5.0'} 

cookie = {'enwiki_session': '17ab96bd8ffbe8ca58a78657a918558'} 


url = 'https://127.0.0.1/login.php' 


payload = {'user': 'admin','pass': 'admin123'} 


Page = requests.Session() 
Page.post(url,headers=headers,cookies=cookie,data=payload) 

#print Page.content 
#print Page.geturl() 
+0

看看回復內容?當然,你知道一個成功的登錄是什麼樣子? –

+0

有沒有一種方法可以讓我檢查發佈請求後腳本當前處於哪個鏈接?類似於geturl() –

+0

你的意思是'p = Page.post(url,headers = headers,cookies = cookie,data = payload)''print p.url'? –

回答

0

,保持記錄的人在每一個網站時,他們通過網頁瀏覽的是一種叫做餅乾。 HTTP cookies是保存登錄信息的數據。點擊一個頁面後,您將被註銷而沒有cookie。爲確保用戶保持登錄狀態,除非他們手動註銷(或Cookie過期),網站會將一個登錄cookie附加到您的Web瀏覽器。要找到你刮網站上的餅乾,你的代碼應該看起來有點像這樣:

if "Name_of_the_login_cookie" in requests.Session.cookies: 
    #Here is where your extra code goes in 

上面的代碼是一個簡單的「如果 - 那麼」語句。如果在瀏覽器中記錄了Cookie,請繼續執行您的程序。

希望這有助於。我沒有足夠的工作與請求模塊,但我知道這一點。

-1

請把你的時間來閱讀requests documentation它不僅提供例子,但是你可以很容易地通過驗證做一個後,由服務器返回的狀態碼識別成功的請求:

對於防爆。

r = requests.post(url,headers=headers,cookies=cookie,data=payload) 

print r.status_code 

這將返回一個status code

如果成功,通常返回200返回