这篇文章主要为大家详细介绍了Python 处理Cookie的菜鸟教程(一)Cookie库,具有一定的参考价值,可以用来参考一下。

对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理。要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头:

Set-Cookie:session=8345234;expires=Sun,15-Nov-2013 15:00:00 GMT;path=/;domain=baidu.com

expires是cookie的生存周期,path是cookie的有效路径,domain是cookie的有效域.

路径"path"用于设置可以读取一个cookie的最顶层的目录.将cookie的路径设置为你的网页最顶层的目录可以让该该目录下的所有网页都能访问该cookie.

方法:在你的cookie中加入path=/; 如果你只想让"food" 目录中的网页可以使用该cookie,则你加入path=/food.

domain:有些网站有许多小的域名,例如百度可能还在"news.baidu.com" "zhidao.baidu.com" 和"v.baidu.com" 域名下有网页.如果想让"baidu.com"下的所有机器都可以读取该cookie,必须在cookie中加入 "domain=.baidu.com" .

用户浏览器会存储Cookie直到过期,浏览器会向符合path和domain的服务器发送类似以下内容的HTTP请求报头:

Cookie:session=8345234。

例如,登陆www.baidu.com的时候,百度服务器发送回的HTTP响应报头中cookie是:

Set-Cookie:H_PS_PSSID=4681_4567_1452_9876_4759; path=/; domain=.baidu.com

Set-Cookie:BDSVRTM=74; path=/

浏览器的HTTP请求报头:

Cookie:BAIDUID=0FD996SDFG12********107B9C227F4C:FG=1; locale=zh; bdshare_firstime=1384567418140; NBID=D830DD2345HH2818A9F4134E5A2D778D3B:FG=1; H_PS_LC=4_shadu2014; BD_CK_SAM=1; H_PS_PSSID=4681_4567_1452_9876_4759

浏览器将cookie发送回HTTP服务器时,使用key=value字符串的编码形式,不返回expires,path和domain等可选属性。

cookie字符串通常位于HTTP_COOKIE环境变量中,可以如下读取:

# @param Python中Cookie的处理(一)Cookie库

# @author 512笔记|512PiC.com

import os

print "Content-type: text/plain\n"

if "HTTP_COOKIE" in os.environ:

print os.environ["HTTP_COOKIE"]

else:

print "HTTP_COOKIE not set!"

# End www_512pic_com

Python中Cookie模块(python3中为http.cookies)提供了一个类似字典的特殊对象SimpleCookie,其中存储并管理着称为Morsel的cookie值集合。

每个Morsel都有name,value以及可选属性(expires,path,domain,comment,max-age,secure,version,httponly)。

SimpleCookie可使用output()方法创建以HTTP报头形式表示的cookie数据输出,用js_output()方法生成包含javascript代码的字符串。

用HTTP_COOKIE生成cookie:

cookie=Cookie.SimpleCookie(os.environ['HTTP_COOKIE'])

print cookie.output()

set cookie:

# @param Python中Cookie的处理(一)Cookie库

# @author 512笔记|512PiC.com

import Cookie

import datetime

import random

expiration = datetime.datetime.now() + datetime.timedelta(days=30)

cookie = Cookie.SimpleCookie()

cookie["session"] = random.randint(1,1000000000)

cookie["session"]["domain"] = ".baidu.com"

cookie["session"]["path"] = "/"

cookie["session"]["expires"] = expiration.strftime("%a, %d-%b-%Y %H:%M:%S PST")

print "Content-type: text/plain"

print cookie.output()

print

print "Cookie set with: " + cookie.output()

# End www_512pic_com

输出:

Content-type: text/plain

Set-Cookie: session=155209565; Domain=.jayconrod.com; expires=Mon, 03-Mar-2014 07:42:47 PST; Path=/

Cookie set with: Set-Cookie: session=155209565; Domain=.jayconrod.com; expires=Mon, 03-Mar-2014 07:42:47 PST; Path=/

注:关于Python 处理Cookie的菜鸟教程(一)Cookie库的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:Cookie

菜鸟教程python实例_Python 处理Cookie的菜鸟教程(一)Cookie库相关推荐

  1. 菜鸟教程python正则表达式_Python正则表达式常用函数菜鸟教程

    这篇文章主要为大家详细介绍了Python正则表达式常用函数菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! Py ...

  2. python语法教程-Python语言的核心语法(1)(语法教程)(参考资料)

    1.介绍 本参考手册描述了Python编程语言.它不是一个教程. 虽然我试图尽可能精确,但我选择使用英语而不是正式的规范,除了语法和词法分析.这应该使文档对普通读者更容易理解,但会留下歧义的余地.因此 ...

  3. 菜鸟教程python正则表达式_python 正则表达式详解

    python 正则表达式详解 1. 正则表达式模式 模式描述 ^ 匹配字符串的开头 $ 匹配字符串的末尾. . 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字 ...

  4. 菜鸟教程python正则表达式_Python 正则表达式

    Python 正则表达式 正则表达式是搜索模式形成的字符序列. 它可用于检查字符串是否与某种字符匹配的搜索模式. RegEx模块 Python有一个内置的包re,可以用来处理正则表达式. 导入re模块 ...

  5. 爬虫python教程百度云_Python爬虫比较基础的教程视频百度云网盘下载

    Python爬虫比较基础的教程视频百度云网盘下载,目录如下,给编程的朋友学习吧,请大家支持正版! QQ截图20180719110859.jpg (12.41 KB, 下载次数: 27) 2018-7- ...

  6. 网上的python教程值不值得买_Python新人入手线程技术教程,值得收藏

    相信很多新手同学才开始学习Python的时候,对于线程技术很是困惑,今天就给大家带来了Python新手入手线程技术的教程,希望可以帮到大家. 1.线程基础1.1.线程状态线程有5种状态,状态转换的过程 ...

  7. 菜鸟学python 哪吒_Python 学习之路 (前言)

    为什么要学Python 1,脚本语言本身很方便简洁,未来会有趋势 2,web 方向 3,运维方向 我是学静态语言出身的,java,毕业后从事android 应用开发,曾在工作期间学习过linux,想从 ...

  8. python 期货交易_Python期货量化交易基础教程(8)

    8.错误和异常处理 Python中常见的错误有两类,一是语法错误,二是异常. 语法错误是违反了Python语法规则,导致代码无法执行. 异常是语法没有错误,但在执行过程中因为代码逻辑问题又发生了故障. ...

  9. python最大值_Python 获取最大值函数|python3教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 以下实例中我们使用max()方法求最大值: # -*- coding: UTF-8 -*- # Filen ...

最新文章

  1. 对象的指针指向哪里,oc的类信息存放在哪里
  2. 海思芯片固件修改工具_地平线X3开发板开箱、固件刷写、环境配置
  3. python爬虫如何从一个页面进入另一个页面-爬虫入门(一)——如何打开一个网页...
  4. memcache的windows下的安装和简单使用
  5. 乔布斯亲笔签名Apple II使用手册拍出80万美元高价
  6. LAMP兄弟连打造免费视频教程
  7. qt drawrect绘制图形为什么不显示_Qt编写自定义控件45-柱状标尺控件
  8. MySQL联合查询及取别名
  9. Python实现简单拼音输入法
  10. PLC_自动化控制系统_1_简说自动化控制系统
  11. STC12C5A60S2的EEPROM应用
  12. [毒]QQ空间出现的伪装QQ登录窗口诈骗
  13. Hive窗口函数之preceding and following
  14. C++周末训练题-机器人迷宫(BFS)
  15. 以XML数据源为例的一个数据结构化方法
  16. 在线流程图和思维导图开发技术详解(三)
  17. 企业管理软件领域的核心竞争力
  18. 在国产处理器服务器上配置DNS 轮询,实现多台服务器务负载分担.
  19. 【麦肯锡系列阅读笔记】学会提问
  20. 使用OpenCV库函数将图片合成视频

热门文章

  1. 沁恒CH583 USB 自定义HID调试记录
  2. jpg和png文件头,图片更改文件后缀名有什么影响
  3. 逆天了!程序员独自开发了一款 PS 杀手,免费免安装
  4. 躬身入局,干货分享,2023年春招后端技术岗(Python)面试实战教程,Offer今始为君发
  5. 集成式电子液压制动系统液压力变结构控制
  6. Python面试必看!53个经典面试题详解
  7. android扫条形码功能,详解Android 扫描条形码(Zxing插件)
  8. 前端开发中经常使用到的颜色:
  9. 航拍服务价格表,航拍测绘怎么计费的
  10. 艾美捷 IgM (大鼠) ELISA试剂盒实验原理