首頁 > 後端開發 > Python教學 > 如何使用Python的Requests模組登入網站並有效處理Cookie?

如何使用Python的Requests模組登入網站並有效處理Cookie?

Linda Hamilton
發布: 2024-12-24 22:17:10
原創
779 人瀏覽過

How Can I Log into a Website Using Python's Requests Module and Handle Cookies Effectively?

使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板