2015-09-04 34 views
0

我試圖從受用戶名和密碼保護的網頁檢索信息。如何跳過無聲登錄?

我通過身份驗證,發送POST與我的用戶名和密碼。之後,我回到重定向頁面的響應對象。當我瀏覽該頁面時,我發現我必須等待幾秒鐘或點擊繼續進入主頁面。我的問題是如何跳過此重定向或強制腳本轉到主頁面。

import requests 

main_url = 'https://my_main_page.com/edit#' 
login = { 
    'USER' : 'username', 
    'PASSWORD' : 'password',  
}  
r = requests.post(main_url, 
        data=login,) #here I have now redirecting page with the 
           #url as main_url , but in page source I see 
           #redirecting page, not my expected page 
print r.url 
print r.text 

回答

1

試試這個:

r = requests.post(main_url, data=login, allow_redirects=false)

+0

它不起作用:/,如果我設置allow_redirect = False,我的腳本不響應。在我的網絡瀏覽器中,如果我登錄,我會收到一條消息,告訴我幾秒鐘後,我將被重定向到主頁面。它可能需要一秒鐘,我在主頁上。腳本如何做到這一點? :/ –

+0

你想要轉到主頁面嗎?如果你想要它,請嘗試allow_redirects = True。告訴我,如果它的工作 – arodriguezdonaire

+0

它也行不通。我想我需要創建會話,但我不知道如何。 –

0

也許這可以幫助你: http://docs.python-requests.org/en/latest/user/quickstart/#redirection-and-history

也許你需要使用請求方法來代替。但post方法也應該與請求參數一起工作: http://docs.python-requests.org/en/latest/api/#requests.request

+0

它不工作:(即使我嘗試使用requests.request與我的數據它仍然帶我到無聲登錄,我在重定向頁面,無法返回到主頁 –

+0

好吧,你不能去但是你也可以在你登錄後啓動一個新的請求,比如'r = request.get(main_url)' – apxp

+0

是的,但是在這種情況下,它仍然讓我進入沉默的登錄頁面 –