结论:

1.requests模块的请求和响应分别有cookie对象。 可以通过此对象设置和获取cookie。

2.通过在requests.get,requests.post等方法请求中传入cookies字典参数 只用于单次请求的cookie设置。

3. request.session() 返回保持会话的对象。Provides cookie persistence, connection-pooling, and configuration。

1. 请求的cookie设置和获取

方式一: 参数传入方式  在请求的时候加入 cookies 参数, 这种方式设置的cookie只是单个请求添加。

import requests as requestsModule
cookiesDit = {
'PHPSESSID':'d38k25b2nt90ahhaanuuqghrh6'
}
requests = requestsModule.session()
print(requests.cookies.get_dict()) #先打印一下,此时一般应该是空的。
postData ={
}
# 设置了 cookies
rs=requests.post('http://www.baidu.com',data = postData,headers=headers,cookies=cookiesDit,verify=False)
rs.encoding='utf-8'
print(requests.cookies.get_dict() )  # 缓存的cookie
print(rs.cookies.get_dict() )  # 获取响应设置的cookie

方式二: 设置requests的cookie成员对象

import requests as requestsModule
cookiesDit = {
'PHPSESSID':'d38k25b2nt90ahhaanuuqghrh6'
}
requests = requestsModule.session()
requestsModule.utils.add_dict_to_cookiejar(requests.cookies, cookiesDit) # 这只请求的cookie对象的值 会一直使用
print(requests.cookies.get_dict()) #先打印一下,设置的cookie能看到。
postData ={
}
# 设置了 cookies
rs=requests.post('http://www.baidu.com',data = postData,headers=headers,verify=False)
rs.encoding='utf-8'
print(requests.cookies.get_dict() )
print(rs.cookies.get_dict() )

# 使用对象方式设置 和requestsModule.utils.add_dict_to_cookiejar 设置效果一样

c=requests.cookies.RequestsCookieJar()#利用RequestsCookieJar获取
c.set('cookie-name','cookie-value')
s.cookies.update(c)

详细使用可参考官方手册

http://cn.python-requests.org/zh_CN/latest/api.html#requests.PreparedRequest.prepare

python requests 的cookie 操作的更多相关文章

  1. python selenium2 有关cookie操作实例及如何绕开验证码

    1.先看一下cookie是啥 cookie是访问web时服务器记录在用户本地的一系列用户信息(比如用户登录信息),以便对用户进行识别 from selenium import webdriver im ...

  2. Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作

    超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...

  3. 爬虫--requests模块高级(代理和cookie操作)

    代理和cookie操作 一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests ...

  4. 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...

  5. Python+Requests接口测试教程(1):Fiddler抓包工具

    本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...

  6. Python:requests库、BeautifulSoup4库的基本使用(实现简单的网络爬虫)

    Python:requests库.BeautifulSoup4库的基本使用(实现简单的网络爬虫) 一.requests库的基本使用 requests是python语言编写的简单易用的HTTP库,使用起 ...

  7. Python+requests维持会话

    Python+requests维持会话 一.使用Python+requests发送请求,为什么要维持会话? 我们是通过http协议来访问web网页的,而http协议是无法维持会话之间的状态.比如说我们 ...

  8. python+requests接口自动化框架

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...

  9. 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

    继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...

随机推荐

  1. springboot学习之授权Spring Security

    SpringSecurity核心功能:认证.授权.攻击防护(防止伪造身份) 涉及的依赖如下: <dependency> <groupId>org.springframework ...

  2. 如何直接执行js代码

    安装node.js 进入cmd ,输入node js文件名

  3. image以最小边为标准填满正方形父级元素

    需求: 上传图片并实现预览, 图片以最小边为标准填满正方形的父级div,且不变形,且点击可以预览大图. 有两种实现方式: 1.div+img标签, 利用object-fit:cover,据说兼容性不好 ...

  4. 《剑指offer》第五十五题(二叉树的深度)

    // 面试题55(一):二叉树的深度 // 题目:输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的 // 结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. //如果左右 ...

  5. docker下debian镜像开启ssh, 允许root用密码登录

    用的官方python镜像做开发, 暴露端口, 用pycharm ssh进去开发. 忽然发现本来ssh能连上, 但是更了新的python镜像连不上了. 有折腾了一下, 连上了. 主要是python官网镜 ...

  6. angular在组件中选择dom元素

    想选择 在组件中选择自己template里的dom元素,要使用ElementRef.     import { Component, EventEmitter, HostListener, OnIni ...

  7. Lua和C++交互 学习记录之五:全局数组交互

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  8. C# 连接PDA扫码枪

    Symbol扫码枪开发文档 一.主要功能 实现symbol扫码枪和PC数据交互. 二.运行环境 SymbolMC32NO 三.开发工具与软件 开发环境:Win7 开发语言:C# 数据库:Sql Ser ...

  9. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格添加分页

    jQuery EasyUI 树形菜单 - 树形网格添加分页 本教程展示如何向带有动态加载特性的树形网格(TreeGrid)添加分页. 创建树形网格(TreeGrid) 启用树形网格(TreeGrid) ...

  10. java.lang.RuntimeException: Unable to start activity ComponentInfo……AppCompat does not support the current theme features

    Android测试时出现闪退的问题,出现了如下所示异常: java.lang.RuntimeException: Unable to start activity ComponentInfo{thon ...