首頁技術(shù)文章正文

python如何使用Cookie?

更新時間:2020-08-07 來源:黑馬程序員 瀏覽量:

學(xué)習(xí)目標(biāo):

掌握 Cookie 的定義和使用

Cookie 定義

Cookie,有時也用其復(fù)數(shù)形式Cookies.

指的是由服務(wù)端生成, 保存在客戶端的一種數(shù)據(jù)存儲形式,內(nèi)部以 key-value 鍵值對形式存儲, value大小有限制(最大為4kb), 數(shù)據(jù)不安全。

背景:

Cookie 最早是網(wǎng)景公司的前雇員 Lou Montulli 在 1993 年 3 月的發(fā)明。Cookie 是由服務(wù)器端生成,發(fā)送給User-Agent(一般是瀏覽器),瀏覽器會將 Cookie 的 key/value 保存到某個目錄下的文本文件內(nèi),下次請求同一網(wǎng)站時就發(fā)送該 Cookie 給服務(wù)器(前提是瀏覽器設(shè)置為啟用 cookie )。Cookie 名稱和值可以由服務(wù)器端開發(fā)自己定義,這樣服務(wù)器可以知道該用戶是否是合法用戶以及是否需要重新登錄等。服務(wù)器可以利用 Cookies 包含信息的任意性來篩選并經(jīng)常性維護(hù)這些信息,以判斷在 HTTP 傳輸中的狀態(tài)。Cookies 最典型記住用戶名。

建議:

Cookie 是存儲在瀏覽器中的一段純文本信息,建議不要存儲敏感信息如密碼,因為電腦上的瀏覽器可能被其它人使用。

Cookie 的特點

·Cookie 以鍵值對 Key-Value 形式進(jìn)行信息的存儲

·Cookie 基于域名安全,不同域名的 Cookie 是不能互相訪問的

例如:

保存在 www.baidu.com 域名下面的 cookie 不能夠被其他域名的訪問

設(shè)置 Cookie

可以通過 HttpResponse 對象中的 set_cookie 方法來設(shè)置 cookie。

# 使用方法: 
# 創(chuàng)建 response 對象
response = HttpResponse()
# 調(diào)用對象的 set_cookie() 函數(shù)
response.set_cookie(key,  value,  max_age)


參數(shù)解析:

key: cookie 中保存信息的名稱

value: cookie 中保存信息時, 名稱對應(yīng)的值部分

max_age: cookie 中保存信息的有效期, 超過有效期, key-value 失效

其中 max_age 單位為秒, 默認(rèn)為 None. 如果設(shè)置 None 值, 則關(guān)閉瀏覽器失效。

例如:

response.set_cookie('itcast', 'python', max_age=3600)


讀取 Cookie

可以通過 **HttpRequest** 對象( request )的 **COOKIES** 屬性來讀取本次請求攜帶的 cookie 值。

# 使用方法: 
# 其中: request.COOKIES 為字典類型
value = request.COOKIES.get('key')


例如:

request.COOKIES 為字典類型, 可以使用字典的 get( )

例如:

value = request.COOKIES.get('itcast')    # python


總結(jié):

·cookie 用于保持前后端狀態(tài)

·cookie 的設(shè)置為: response.set_cookie( key, value, max_age=時間(s))

·cookie 的獲取: request.COOKIES.get( key )


猜你喜歡:

python函數(shù)是什么,怎么用?

python培訓(xùn)之搭建elk遇到問題和解決方案

python中的字典如何使用?

Python培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!