python請(qǐng)求requests通過(guò)session自動(dòng)管理cookie維持會(huì)話狀態(tài)實(shí)踐
有的網(wǎng)站可能需要通過(guò)cookie來(lái)維持會(huì)話狀態(tài),來(lái)保持登陸狀態(tài)或者認(rèn)證狀態(tài),比如抖音搜索或者獲取直播間信息等查詢的時(shí)候,可以通過(guò)requests.session()來(lái)管理cookie。
1.直接通過(guò)session對(duì)象管理
自動(dòng)化管理,不用手動(dòng)修改操作,很方便
import requests
session = requests.session()
print("會(huì)話初始cookie:",dict(session.cookies))
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("響應(yīng)頭中set-cookie:",res.headers.get("set-cookie"))
print("會(huì)話現(xiàn)有cookie:",dict(session.cookies)) 輸出結(jié)果:
會(huì)話初始cookie: {}
響應(yīng)頭中set-cookie: sails.sid=s%3ALo1-iQfueg8z1DhR_SX3KxwWA85cYN65.asZ1elFlT9g54uj%2FHkHpaZFkk0rBaCFDtRrA9anWzY4; Path=/; HttpOnly
會(huì)話現(xiàn)有cookie: {'sails.sid': 's%3ALo1-iQfueg8z1DhR_SX3KxwWA85cYN65.asZ1elFlT9g54uj%2FHkHpaZFkk0rBaCFDtRrA9anWzY4'}2.通過(guò)key設(shè)置
直接通過(guò)key設(shè)置cookie,但不支持設(shè)置cookie的 path、domain 等值
import requests
session = requests.session()
print("會(huì)話初始cookie:",dict(session.cookies))
# 直接通過(guò)key設(shè)置cookie,但不支持設(shè)置cookie的 path、domain 等值
session.cookies["cka"]="111a"
session.cookies["ckb"]="111b"
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("本次請(qǐng)求使用的cookie:",res.request.headers.get("Cookie"))
print("會(huì)話現(xiàn)有cookie:",dict(session.cookies))
3.通過(guò)set 方法設(shè)置
通過(guò)set方法設(shè)置cookie,且支持設(shè)置path、domain等值
import requests
session = requests.session()
print("會(huì)話初始cookie:",dict(session.cookies))
# 通過(guò)set方法設(shè)置cookie,且支持設(shè)置path、domain等值
session.cookies.set("ck2","222",path="/",domain="postman-echo.com")
get_url = "https://postman-echo.com/get"
res = session.get(url=get_url)
print("本次請(qǐng)求使用的cookie:",res.request.headers.get("Cookie"))
print("會(huì)話現(xiàn)有cookie:",session.cookies) 總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 利用Python+requests批量檢測(cè)網(wǎng)站是否可訪問(wèn)的實(shí)戰(zhàn)指南
- Python 爬蟲全面使用指南:從Requests到Scrapy分布式架構(gòu)詳解
- Python自動(dòng)化測(cè)試框架:unittest、pytest、Selenium、requests和Pytest-BDD
- Python 爬蟲入門必學(xué):Requests 庫(kù)核心用法全解
- Python網(wǎng)絡(luò)請(qǐng)求庫(kù)從?requests?到?httpx的遷移
- 使用Python requests實(shí)現(xiàn)Cookie登錄的全流程
相關(guān)文章
python orm 框架中sqlalchemy用法實(shí)例詳解
這篇文章主要介紹了python orm 框架中sqlalchemy用法,結(jié)合實(shí)例形式詳細(xì)分析了Python orm 框架基本概念、原理及sqlalchemy相關(guān)使用技巧,需要的朋友可以參考下2020-02-02
python中使用pymssql庫(kù)操作MSSQL數(shù)據(jù)庫(kù)
這篇文章主要給大家介紹了關(guān)于python中使用pymssql庫(kù)操作MSSQL數(shù)據(jù)庫(kù)的相關(guān)資料,最近在學(xué)習(xí)python,發(fā)現(xiàn)好像沒(méi)有對(duì)pymssql的詳細(xì)說(shuō)明,于是乎把官方文檔學(xué)習(xí)一遍,重要部分做個(gè)歸檔,方便以后查閱,需要的朋友可以參考下2023-08-08
解決Django生產(chǎn)環(huán)境無(wú)法加載靜態(tài)文件問(wèn)題的解決
這篇文章主要介紹了解決Django生產(chǎn)環(huán)境無(wú)法加載靜態(tài)文件問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
PyCharm之如何設(shè)置自動(dòng)換行問(wèn)題
這篇文章主要介紹了PyCharm之如何設(shè)置自動(dòng)換行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Django unittest 設(shè)置跳過(guò)某些case的方法
今天小編就為大家分享一篇Django unittest 設(shè)置跳過(guò)某些case的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python入門案例之找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞
這篇文章主要為大家?guī)?lái)一個(gè)簡(jiǎn)單的Python入門案例——找出文件中出現(xiàn)次數(shù)最多的10個(gè)單詞,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02
dpn網(wǎng)絡(luò)的pytorch實(shí)現(xiàn)方式
今天小編就為大家分享一篇dpn網(wǎng)絡(luò)的pytorch實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01

