使用 Python 的請求模組登入網站
嘗試使用 Python 的請求模組登入網站時,理解這個概念至關重要HTTP cookie。在 Web 開發中,cookie 用於在客戶端(您的裝置)上儲存小塊數據,這些數據可以在後續請求期間由伺服器檢索和修改。
在您的情況下,問題似乎出在您以您定義 cookies 字典的方式。檢查登入頁面的 HTML 原始碼可以發現,使用者名稱和密碼的輸入欄位的名稱分別為「inUserName」和「inUserPass」。因此,定義 cookie 的正確方法是:
ck = {'inUserName': 'USERNAME/EMAIL', 'inUserPass': 'PASSWORD'}
正確定義 cookie 後,您可以使用 requests.post() 方法使用您的登入憑證傳送 POST 請求。伺服器將回應一個包含登入內容或錯誤訊息的頁面。
如果登入成功,您將獲得一個會話 cookie,允許您訪問受保護的頁面,而無需重新登入- 輸入您的憑證。若要保持這種登入狀態,您可以使用 requests.Session() 實例。
以下程式碼範例說明如何使用 Requests 模組登入網站:
import requests url = 'http://www.locationary.com/home/index2.jsp' payload = {'inUserName': 'USERNAME/EMAIL', 'inUserPass': 'PASSWORD'} with requests.Session() as s: r = s.post(url, data=payload) # Check the response status code to ensure successful login if r.status_code == 200: # Logged in successfully print("Logged in successfully") # Make a request to a protected page r = s.get('http://www.locationary.com/protected_page.html') print(r.text) else: # Login failed print("Login failed")
以上是如何使用Python的Requests模組登入網站並有效處理Cookie?的詳細內容。更多資訊請關注PHP中文網其他相關文章!