日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬取公众号历史文章_python爬微信公众号前10篇历史文章(6)-话说http cookies...

發布時間:2025/4/16 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬取公众号历史文章_python爬微信公众号前10篇历史文章(6)-话说http cookies... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

早期Web開發面臨的最大問題之一是如何管理狀態。簡言之,服務器端沒有辦法知道兩個請求是否來自于同一個瀏覽器。這是cookies的起源。

什么是cookie?

A cookie is a small stub of information left by a website on a visitor's computer through the web browser.

一個cookie就是存儲在用戶主機瀏覽器中的一小段文本文件。Cookies是純文本形式,它們不包含任何可執行代碼。存儲cookie是瀏覽器的功能。

基于一系列規則在之后的每個請求中都將該信息返回至服務器。Web服務器之后可以利用這些信息來標識用戶。

設置一個cookie,之后只要這個cookie存在并且合法,你就可以自由的瀏覽這個站點的所有部分。當網頁要發http請求時,瀏覽器會先檢查是否有相應的cookie,有則自動添加在request header中的cookie字段中。

再次,cookie只是包含了數據,就其本身而言并不有害。

每個域名下的cookie 的大小最大為4KB,每個域名下的cookie數量最多為20個(但很多瀏覽器廠商在具體實現時支持大于20個)。

cookie通信:

request header中自動添加了Cookie字段(我并沒有手動添加這個字段哦~),Cookie字段的值其實就是我設置的?cookie。這個請求最終會發送到http://ppsc.sankuai.com這個服務器上,這個服務器就能從接收到的request header中提取cookie。

cookie的基本通信流程:設置cookie?=>?cookie被自動添加到request header中 => 服務端接收到cookie

cookie的構成:

set cookie: name=value; domain=.mozilla.org; expires=Feb, 13-Mar-2018 11:47:50; path=/; secure

名稱(name):一個唯一確定cookie的名稱,部分大小寫,cookie的名字必須是經過URL編碼的,一般可以采用某個前綴在加上當前時間的做法,這樣的話名稱能夠確保是唯一的,也比較方便。

值(value):存儲在cookie中的字符串值,必須經過被URL編碼

失效時間(expires):表示cookie何時應該被刪除的時間戳,這個日期是GMT格式的日期,如果設置是以前的時間,cookie會被立刻刪除。上訴cookie的失效時間是Feb,13-Mar-2018 11:47:50。

域(domain):對于哪個域是有效的,如果沒有設置的話,默認來自設置cookie的那個域,在上訴例子中就是.Mozilla.org

路徑(path):指定域中的那個路徑應該像服務器發送cookie,/ 表示沒有限制。path默認值為設置該cookie的網頁所在的目錄。domain和path2個選項共同決定了cookie何時被瀏覽器自動添加到請求頭部中發送出去。

安全標志(secure):指定以后,cookie只有在使用SSL連接的時候才可以發送到服務器。

expires?是 http/1.0協議中的選項,在新的http/1.1協議中expires已經由?max-age?選項代替,兩者的作用都是限制cookie 的有效時間。expires的值是一個時間點(cookie失效時刻= expires),而max-age?的值是一個以秒為單位時間段(cookie失效時刻= 創建時刻+ max-age)。

另外,max-age?的默認值是?-1(即有效期為?session?);若max-age有三種可能值:負數、0、正數。負數:有效期session;0:刪除cookie;正數:有效期為創建時刻+ max-age

設置cookie:

cookie既可以由服務端來設置,也可以由客戶端來設置。

服務端設置 cookie:?不管你是請求一個資源文件(如 html/js/css/圖片),還是發送一個ajax請求,服務端都會返回response。而response header中有一項叫set-cookie,是服務端專門用來設置cookie的。一個set-Cookie字段只能設置一個cookie,當你要想設置多個 cookie,需要添加同樣多的set-Cookie字段。

客戶端設置 cookie:在網頁即客戶端中我們也可以通過js代碼來設置cookie。

document.cookie="age=12; expires=Thu, 26 Feb 2116 11:50:25 GMT; domain=sankuai.com; path=/";

cookie的應用:

購物車(網購)

自動登錄(登錄賬號時的自動登錄)

精準廣告

平常瀏覽網頁時有時會推出商品剛好是你最近瀏覽過,買過的類似東西,這些是通過cookie記錄的。

記住登錄狀態

python request模塊提供的cookie相關內容:

請求會話:class?requests.Session

Provides cookie persistence, connection-pooling, and configuration.

創建一個會話之后,可以訪問它的CookieJar,它保存了所有這個會話中的cookie信息。

在發送請求的header中設置cookie信息:

session.get(url, headers= '{'Cookie':'SUV=43BBE548642E940A000000005AA1D6FD;SNUID=21D9862A6266048D992B9AFC635824EB;'})

總結

以上是生活随笔為你收集整理的python爬取公众号历史文章_python爬微信公众号前10篇历史文章(6)-话说http cookies...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。