01、cookie介紹
HTTP協(xié)議是無狀態(tài)的協(xié)議。一旦數(shù)據(jù)交換完畢,客戶端與服務(wù)器端的連接就會(huì)關(guān)閉,再次交換數(shù)據(jù)需要建立新的連接,這就意味著服務(wù)器無法從連接上跟蹤會(huì)話。也就是說即使第一次和服務(wù)器連接后并且登錄成功后,第二次請(qǐng)求服務(wù)器依然不能知道當(dāng)前請(qǐng)求是哪個(gè)用戶。
舉個(gè)例子:
用戶A購(gòu)買了一件商品放入購(gòu)物車內(nèi),當(dāng)再次購(gòu)買商品時(shí),服務(wù)器已經(jīng)無法判斷該購(gòu)買行為是屬于用戶A的會(huì)話,還是用戶B的會(huì)話了。要跟蹤該會(huì)話,必須引入一種機(jī)制。
什么是一次會(huì)話:
用戶打開瀏覽器訪問某個(gè)網(wǎng)站, 在這個(gè)網(wǎng)站上瀏覽任意頁(yè)面, 訪問完成后將瀏覽器關(guān)閉的過程稱為是一次會(huì)話。
cookie的出現(xiàn)就是為了解決這個(gè)問題,第一次登錄后服務(wù)器后,如果服務(wù)器需要記錄該用戶狀態(tài),就使用response向客戶端瀏覽器頒發(fā)一個(gè)cookie,瀏覽器會(huì)把cookie數(shù)據(jù)保存在本地。該用戶發(fā)送第二次請(qǐng)求的時(shí)候,就會(huì)自動(dòng)的把上次請(qǐng)求存儲(chǔ)的cookie數(shù)據(jù)自動(dòng)的攜帶給服務(wù)器,服務(wù)器檢查該cookie存儲(chǔ)name,value等信息,以此來辨認(rèn)用戶狀態(tài),服務(wù)器還可以根據(jù)需要修改cookie的內(nèi)容。
cookie就相當(dāng)于是服務(wù)器給客戶端們頒發(fā)一個(gè)通行證,每人一個(gè),無論誰訪問都必須攜帶自己通行證。這樣服務(wù)器就能從通行證上確認(rèn)客戶身份,這就是Cookie的工作原理。
cookie存儲(chǔ)的數(shù)據(jù)量有限,不同的瀏覽器有不同的存儲(chǔ)大小,但一般不超過4KB,因此使用cookie只能存儲(chǔ)一些小量的數(shù)據(jù)。
cookie的出現(xiàn)彌補(bǔ)HTTP協(xié)議無狀態(tài)的不足。但是cookie是存儲(chǔ)在客戶端的,通過瀏覽器或者抓包工具很容易就能獲取到,所以非常不安全。
02、session介紹
session是另一種記錄客戶狀態(tài)的機(jī)制,不同的是cookie保存在客戶端瀏覽器中,而session保存在服務(wù)器上??蛻舳藶g覽器訪問服務(wù)器的時(shí)候,服務(wù)器把客戶端信息以某種形式記錄在服務(wù)器上。存儲(chǔ)在服務(wù)器的數(shù)據(jù)會(huì)更加的安全,不容易被竊取??蛻舳藶g覽器再次訪問時(shí),只需要從該session中查找該客戶的狀態(tài)就可以了。
如果說cookie機(jī)制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那么session機(jī)制就是通過檢查服務(wù)器上的“客戶明細(xì)表”來確認(rèn)客戶身份。Session相當(dāng)于程序在服務(wù)器上建立的一份客戶檔案,客戶來訪的時(shí)候只需要查詢客戶檔案表就可以了。
session存儲(chǔ)在服務(wù)器也有一定的弊端,就是會(huì)占用服務(wù)器的資源,但現(xiàn)在服務(wù)器已經(jīng)發(fā)展至今,存儲(chǔ)一些session信息還是綽綽有余的。
cookie和session工作原理圖解
記錄cookie的作用
用戶第一次登陸時(shí),勾選下次直接登陸或者記住密碼,就是采用記錄cookie實(shí)現(xiàn)的。
cookie內(nèi)記錄用戶名和密碼(加密)信息,只要請(qǐng)求時(shí)服務(wù)器收到cookie,識(shí)別成功,默認(rèn)為已登陸。
現(xiàn)在我也找了很多測(cè)試的朋友,做了一個(gè)分享技術(shù)的交流群,共享了很多我們收集的技術(shù)文檔和視頻教程。
如果你不想再體驗(yàn)自學(xué)時(shí)找不到資源,沒人解答問題,堅(jiān)持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動(dòng)化,性能,安全,測(cè)試開發(fā)等等方面有一定建樹的技術(shù)大牛
分享他們的經(jīng)驗(yàn),還會(huì)分享很多直播講座和技術(shù)沙龍
可以免費(fèi)學(xué)習(xí)!劃重點(diǎn)!開源的?。?!
qq群號(hào):110685036
03、Selenium操作cookie
方法
webdriver可以讀取、添加和刪除cookie信息。
webdriver操作cookie 的方法有:
示例:
"""
1.學(xué)習(xí)目標(biāo):
掌握selenium對(duì)cookie操作
2.語法
2.1獲取所有cookie
driver.get.cookies()
返同列表格式字典類型 [{},{},{}]
2.2添加cookie
driver.add_cookie(參數(shù))
參數(shù):字典格式{"name":"name值","value":"value值"}
3.需求
實(shí)現(xiàn)selenium對(duì)cookie操作
"""
# 1.導(dǎo)入selenium
from selenium import webdriver
from time import sleep
# 2.打開瀏覽器
driver = webdriver.Chrome()
# 3.打開注冊(cè)A頁(yè)面
# 不打開一個(gè)頁(yè)面,cookie為[]。
url = "http://www.baidu.com/"
driver.get(url)
# 4.操作cookie
# 4.1 獲取cookie
cookies = driver.get_cookies()
for cookie in cookies:
# 值打印cookie中的name和value
print("%s -> %s" % (cookie['name'], cookie['value']))
print("=======================")
# 4.2 獲取一個(gè)cookie的指定屬性值
# 參數(shù)是一個(gè)cookie中name的屬性值
# 沒有找到返回None
print(driver.get_cookie("BAIDUID"))
print("=======================")
# 4.3 添加cookie
cookie = {"name": "key-aaaaaaa", "value": "value-aaaaaaa"}
driver.add_cookie(cookie)
# 添加后再次獲取
cookies = driver.get_cookies()
for cookie in cookies:
print("%s -> %s" % (cookie['name'], cookie['value']))
print("=======================")
# 4.4 刪除指定cookie
# 根據(jù)name刪除
driver.delete_cookie("key-aaaaaaa")
# 刪除后再次獲取
cookies = driver.get_cookies()
for cookie in cookies:
print("%s -> %s" % (cookie['name'], cookie['value']))
print("=======================")
# 4.5 刪除全部cookie
driver.delete_all_cookies()
print(driver.get_cookies())
# 5.關(guān)閉瀏覽器
sleep(2)
driver.quit()
04、cookie內(nèi)容參數(shù)說明
說明:
-
path:
cookie的有效范圍,這個(gè)參數(shù)domain參數(shù)基礎(chǔ)上的有效范圍,如果path設(shè)置為”/”,那就是在整個(gè)domain都有效。
-
secure:
cookie是否僅通過安全的https,值為0或1。如果值為1,則cookie只能在https連接上有效,默認(rèn)值為0,表示cookei在http和https連接上都有效。(0或1,也可表示Flase或True)
-
httpOnly:
通過js腳本將無法讀取到cookie信息,這樣能有效的防止XSS攻擊(跨站腳本攻擊),這樣就增加了cookie的安全性,即便是這樣,也不要將重要信息存入cookie。
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走!
軟件測(cè)試面試文檔
我們學(xué)習(xí)必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有字節(jié)大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
?
文章來源:http://www.zghlxwxcb.cn/news/detail-771878.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-771878.html
到了這里,關(guān)于如何使用Selenium處理Cookie,今天徹底學(xué)會(huì)了!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!