教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python中cookie的設(shè)置方法

更新時間:2020年08月07日17時11分 來源:黑馬程序員 瀏覽次數(shù):

學(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)常性維護這些信息,以判斷在 HTTP 傳輸中的狀態(tài)。Cookies 最典型記住用戶名。


建議:

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

Cookie 的特點

·Cookie 以鍵值對 Key-Value 形式進行信息的存儲

·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 單位為秒, 默認為 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 )

猜你喜歡:

4天快速入門Python數(shù)據(jù)挖掘

Python視頻教程下載:Python從入門到精通

Python培訓(xùn)課程

0 分享到:
和我們在線交談!