一、requests庫獲取cookie
在使用requests庫發送HTTP請求時,我們可以通過session對象來自動管理cookie,而不需要我們手動設置或者存儲cookie值。
import requests
session = requests.session()
# 發送HTTP請求並使用session對象自動管理cookie
response = session.get('http://www.example.com')
在上述代碼中,我們使用session對象來發送HTTP請求,這樣所有後續的請求都會自動攜帶cookie,而不需要我們手動設置cookie。
二、requests庫設置cookie
在某些情況下,我們需要手動設置cookie來發送HTTP請求。此時,我們可以使用requests庫的cookies參數來設置cookie值。
import requests
cookies = {'session_id': '123456'}
# 發送HTTP請求並設置cookie
response = requests.get('http://www.example.com', cookies=cookies)
在上述代碼中,我們設置了session_id的值為123456,並使用cookies參數來發送HTTP請求並設置cookie。
三、requests庫保存和讀取cookie
requests庫提供了兩個方法來保存和讀取cookie:session.cookies.save()和session.cookies.load()。
我們可以先使用session對象自動管理cookie,然後通過cookies.save()方法來保存cookie到本地。
import requests
session = requests.session()
# 發送HTTP請求並使用session對象自動管理cookie
response = session.get('http://www.example.com')
# 保存cookie到本地
session.cookies.save()
在下次發送HTTP請求時,我們可以使用load()方法來讀取從本地保存的cookie。
import requests
session = requests.session()
# 讀取本地保存的cookie
session.cookies.load()
# 發送HTTP請求並使用session對象自動管理cookie
response = session.get('http://www.example.com')
四、requests庫清除cookie
requests庫提供了clear()方法來清除cookie。
import requests
session = requests.session()
# 清除cookie
session.cookies.clear()
# 發送HTTP請求並使用session對象自動管理cookie
response = session.get('http://www.example.com')
五、requests庫設置全局cookie
在某些情況下,我們希望所有的HTTP請求都帶有同一個cookie。此時,我們可以使用requests庫的hooks參數來設置全局cookie。
import requests
cookies = {'session_id': '123456'}
# 設置全局cookie
def add_cookie(request):
request.cookies.update(cookies)
# 發送HTTP請求並設置全局cookie
response = requests.get('http://www.example.com', hooks={'request': add_cookie})
在上述代碼中,我們使用hooks參數來設置全局cookie。我們定義了add_cookie函數來更新HTTP請求的cookie值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/307100.html