2017-04-09 64 views
1

我正在嘗試使用python的請求庫來登錄到網站。這是一個非常簡單的代碼,你可以通過訪問它的網站真正獲得請求的要點。但是,我想檢查是否通過網址成功登錄。我遇到的問題是當我發起發佈請求並給它(變量p)一個url時,無論html是否已更改,當我輸入print(p.url)時仍然傳遞相同的URL。有什麼方法可以讓我刷新瀏覽器或將網址更新爲當前設置的網址?Python請求刷新

(我可以添加一個行後檢查,對自己的網址,但現在我只是想獲得正確的URL)

#!usr/bin/env python3 


import requests 

payload = {'login': 'USERNAME, 
      'password': 'PASSWORD'} 

with requests.Session() as s: 
    p = s.post('WEBSITE', data=payload) 
    #print p.text 
    print(p.url) 

回答

1

python-requests的usuage可能不會像你想象的那樣複雜。它會自動處理你的帖子的重定向(或session.get())。

這裏,session.post()方法返回一個response obejct:

r = s.post('website', data=payload) 

這意味着r.url是你正在尋找當前的URL。

如果你仍然想刷新當前頁面,只需使用:

s.get(r.url) 

要驗證您是否已經成功登錄,一種解決方案是做登錄界面,在瀏覽器中。

根據返回網頁的標題或內容(即使用r.text中的內容),您可以判斷您是否製作了該網頁。

順便說一句,python-requests是一個偉大的圖書館,享受它。