午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Django利用Cookie實(shí)現(xiàn)反爬蟲(chóng)的例子

瀏覽:105日期:2024-09-09 14:52:39

我們知道,Diango 接收的 HTTP 請(qǐng)求信息里帶有 Cookie 信息。Cookie的作用是為了識(shí)別當(dāng)前用戶(hù)的身份,通過(guò)以下例子來(lái)說(shuō)明Cookie的作用。例:

瀏覽器向服務(wù)器(Diango)發(fā)送請(qǐng)求,服務(wù)器做出響應(yīng)之后,二者便會(huì)斷開(kāi)連接(會(huì)話結(jié)束),下次用戶(hù)再來(lái)請(qǐng)求服務(wù)器,服務(wù)器沒(méi)有辦法識(shí)別此用戶(hù)是誰(shuí),比如用戶(hù)登錄功能,如果沒(méi)有 Cookie 機(jī)制支持,那么只能通過(guò)查詢(xún)數(shù)據(jù)庫(kù)實(shí)現(xiàn),并且每次刷新頁(yè)面都要重新操作一次用戶(hù)登錄才可以識(shí)別用戶(hù),這會(huì)給開(kāi)發(fā)人員帶來(lái)大量的冗余工作,簡(jiǎn)單的用戶(hù)登錄功能會(huì)給服務(wù)器帶來(lái)巨大的負(fù)載壓力。

Cookie 是從瀏覽器向服務(wù)器傳遞數(shù)據(jù),讓服務(wù)器能夠識(shí)別當(dāng)前用戶(hù),而服務(wù)器對(duì) Cookie 的別機(jī)制是通過(guò) Session 實(shí)現(xiàn)的,Session 存儲(chǔ)了當(dāng)前用戶(hù)的基本信息,如姓名,年齡和性別等,由于Cookie 存儲(chǔ)在瀏覽器里面,而且Cookie 的數(shù)據(jù)是由服務(wù)器提供的,如果服務(wù)器將用戶(hù)信息直接保存在瀏覽器中,就很容易泄露用戶(hù)信息,并且Cookie大小不能超過(guò)4KB,不能支持中文,因此要一種機(jī)制在服務(wù)器的某個(gè)域中存儲(chǔ)用戶(hù)數(shù)據(jù),這個(gè)域就是Session。

總而言之,Cookie 和 Session 是為了解決HTTP協(xié)議無(wú)狀態(tài)的弊端、為了讓瀏覽器和服務(wù)端建立長(zhǎng)久聯(lián)系的會(huì)話而出現(xiàn)的。

Cookie除了解決 HTTP 協(xié)議無(wú)狀態(tài)的弊端之外,還可以利用 Cookie 實(shí)現(xiàn)反爬蟲(chóng)機(jī)制。隨著大數(shù)據(jù)和人工智能的發(fā)展,爬蟲(chóng)技術(shù)日益完善,網(wǎng)站為了保護(hù)自身數(shù)據(jù)的安全性和負(fù)載能力,都會(huì)在網(wǎng)站里設(shè)置反爬蟲(chóng)機(jī)制。

由于 Cookie 是通過(guò) HTTP 協(xié)議從瀏覽器傳遞到服務(wù)器的,因此從視圖函數(shù)的請(qǐng)求對(duì)象 request 可以獲取 Cookie 對(duì)象,而Diango提供以下方法來(lái)操作Cookie對(duì)象:

# 獲取 Cookie 與 Python 的字典讀取方法一致request。COOKIES[’uuid’]request。COOKIES。get(’uuid’)# 在響應(yīng)內(nèi)容中添加 Cookie, 將 Cookie 返回給瀏覽器return HttpResponse(’Hello world’)response。set_cookie(’key’, ’value’)return response# 在響應(yīng)內(nèi)容中刪除Cookiereturn HttpResponse(’Hello world’)response。delete_cookie(’key’)return response

操作 Cookie 對(duì)象無(wú)非就是對(duì) Cookie 進(jìn)行獲取、添加和刪除處理。添加Cookie 信息是使用 set_cookie 方法實(shí)現(xiàn)的,該方法是由響應(yīng)類(lèi) HttpResponseBase 定義的

key:設(shè)ECookie的key,類(lèi)似字典的key。 value:設(shè) Cookie的value,類(lèi)似字典的value。 max age:設(shè)置Cookie的有效時(shí)間,以秒為單位。 expires:設(shè)置Cookie的有效時(shí)間,以日期格式為單位。 path:設(shè)置Cookie的生效路徑,默認(rèn)值為根目錄(網(wǎng)站首頁(yè)) domain:設(shè)置Cookie生效的域名。 secure:設(shè)置傳輸方式,若為False,則使用HTTP,否則使用HTTPS。 httponly:設(shè)置是否只能使用HTTP協(xié)議傳輸。 samesite:設(shè)置強(qiáng)制模式,可選值為 lax 或 strict,主要防止CSRF攻擊。

常見(jiàn)的反爬蟲(chóng)主要是設(shè)置參數(shù)max_age,expires 和 path。參數(shù) max_age或 expires 用于設(shè)置 Cookie 的有效性,使爬程序無(wú)法長(zhǎng)時(shí)間爬取網(wǎng)站數(shù)據(jù);參數(shù) path 用于將 Cookie 的生成過(guò)程隱藏起來(lái),不容易讓爬蟲(chóng)開(kāi)發(fā)者找到并破解。

希望各位讀者對(duì)Cookie實(shí)現(xiàn)反爬蟲(chóng)有一定認(rèn)識(shí)。

到此這篇關(guān)于Django利用Cookie實(shí)現(xiàn)反爬蟲(chóng)的文章就介紹到這了,更多相關(guān)Django反爬蟲(chóng)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 成人毛片一级 | 亚洲毛片在线观看 | 欧美xxxx性| 亚洲欧美日本国产 | 特黄特色大片免费播放器使用方法 | 久久黄色网| 日本在线精品 | 久操热| 最新永久地址 | 91在线公开视频 | 久久久久久99 | 少妇又色又爽又黄的视频 | 国内精品久久久久久 | 亚洲天天综合 | 欧美一区二区在线视频 | 欧美一级日韩一级 | 色一区二区 | 亚洲成人第一网站 | 全部孕妇毛片丰满孕妇孕交 | 欧美一区二区三区四 | 久久久成人精品视频 | 在线超碰 | 成年人免费毛片 | 日韩在线影院 | 久久伊人网站 | av日韩在线播放 | 精品久久久久久中文字幕 | 自拍偷拍亚洲天堂 | 黄在线观看免费 | 高h文视频| 韩国黄色录像 | 黄站在线观看 | 日一区二区 | 久久18| 欧美一区2区 | 国产黄色网页 | 亚洲人毛茸茸 | 欧美三级久久 | 色资源网| 亚洲午夜网站 | 99国产精品一区 |