Python中Cookie是什么

  介绍

本篇文章为大家展示了Python中Cookie是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

饼干是指某些网站服务器为了辨别用户身份和进行会话跟踪,而储存在用户浏览器上的文本文件,饼干可以保持登录信息到用户下次与服务器的会话。

HTTP是无状态的面向连接的协议,为了保持连接状态,引入了饼干机制.Cookie是HTTP消息头中的一种属性,包括:

饼干名字(名字)

Cookie的值(值)

饼干的过期时间(到期/信息)

饼干作用路径(路径)

饼干所在域名(域),

使用饼干进行安全连接(安全).

前两个参数是饼干应用的必要条件,另外,还包括饼干大小(大小、不同浏览器对饼干个数及大小限制是有差异的)。

饼干由变量名和值组成,根据网景公司的规定,饼干格式如下:

set - Cookie:, Name=价值;到期=日期;路径=路径;域=DOMAIN_NAME;安全

<强>饼干应用

饼干在爬虫方面最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续。

import  urllib.request      #,1只构建一个已经登录过的用户的头信息   headers =, {   ,,,“User-Agent":,“Mozilla/5.0, (Macintosh;, Intel  Mac  OS  X  10 _14_4), AppleWebKit/537.36, (KHTML, like 壁虎),   ,,,Chrome/73.0.3683.103  Safari/537.36“,   ,,,“Cookie":,“anonymid=jurpmxe9-orl7u3;“   ,,,,,,,,,,,,,“depovince=BJ;“   ,,,,,,,,,,,,,,,_r01_=1;,“   ,,,,,,,,,,,,,“JSESSIONID=abcwYLyIY7VNIhCDVWcPw;“   ,,,,,,,,,,,,,,,jebe_key=f6fb270b-d06d-42e6-8b53-e67c3156aa7e % 7 cc13c37f53bca9e1e7132d4b58ce00fa3 % 7 c148406060   ,,,,,,,,,,,,,7 c1 % 7 c1484060607173 7478%;“   ,,,,,,,,,,,,,,,jebecookies=f1fd29c4 bd08 - 4 d66 - 8834 - 72 - e42b70d2cb | | | | |;,“   ,,,,,,,,,,,,,“ick_login=0 f790ea2 c8bf - 4 - d64 a394 - 36745 - febeb26;“   ,,,,,,,,,,,,,,,_de=622 de758381206eb340e4cec836f3769696bf75400ce19cc;“   ,,,,,,,,,,,,,,,p=7 e50f3fe10ca320e36dae001c72d392d3;“   ,,,,,,,,,,,,,,,美联社=327550029;“   ,,,,,,,,,,,,,,,first_login_flag=1;“   ,,,,,,,,,,,,,,,ln_uact=562352353 @qq.com;“   ,,,,,,,,,,,,,,,ln_hurl=http://hdn.xnimg.cn/photos/hdn121/20120930/2035/h_main_hcDy_40fc000002d91375.jpg;“   ,,,,,,,,,,,,,,,t=d7c6ae064b81ae15f5b91f5897dc61553;“   ,,,,,,,,,,,,,,,societyguester=d7c6ae064b81ae15f5b91f5897dc61553;“   ,,,,,,,,,,,,,,,id=485439163;“   ,,,,,,,,,,,,,,,xnsid=bc995dc8;“   ,,,,,,,,,,,,,,,版本=7.0;“   ,,,,,,,,,,,,,,,loginfrom=null"   }      #,2只通过标题里的报头信息(主要的是饼干信息),构建请求对象   request =, urllib.request.Request (“http://www.renren.com",,头=标题)   ,   #,3只直接访问人人网主页,服务器会根据报头报头信息(主要的是饼干信息),判断这是一个已经登录的用户,并返回相应的页面   时间=response  urllib.request.urlopen(请求)      #,4只打印响应内容   打印(response.read () .decode (“utf-8"))

但是这样做太过复杂,我们先需要在浏览器登录账户,并且设置保存密码,并且通过抓包才能获取这个饼干,那有么有更简单方便的方法呢?

<强> cookielib库和HTTPCookieProcessor处理器

在Python处理Cookie,一般是通过http模块的cookiejar模块和urllib模块的HTTPCookieProcessor处理器类一起使用。

cookiejar模块:主要作用是提供用于存储饼干的对象。

HTTPCookieProcessor处理器:主要作用是处理这些饼干对象,并构建处理程序对象。

import  urllib.request   import  urllib.parse   得到http  import  cookiejar      #,1只构建一个CookieJar对象实例来保存饼干   时间=cookie  cookiejar.CookieJar ()      #,2只使用HTTPCookieProcessor()来创建饼干处理器对象,参数为CookieJar()对象   时间=cookie_handler  urllib.request.HTTPCookieProcessor(饼干)      #,3只通过,build_opener(),来构建   时间=opener  urllib.request.build_opener (cookie_handler)      null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Python中Cookie是什么