结论:

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. 利用angularjs完成注册表单

    ng-init="username = 'first'"设置初始显示first字段 ng-class="{'error':signUpForm.username.$inv ...

  2. tarjan 缩点(模板)

    描述: 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 注:允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次. 思路: ...

  3. Jtest的简单使用

    Jtest主要用于快速测试自己的代码是否正确 条件,导入相应的Jtest包 @Test    public void test() {        System.out.println(" ...

  4. vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath

    背景 一般情况下,我们借用 vue-cli之力安装好所有依赖后,我们就可以愉快的板砖了.但是也经常会遇到一写问题,比如assetsSubDirectory 和 assetsPublicPath两个兄弟 ...

  5. ubuntu 18.04编译opencv3.4.3 with python3.6 cuda9.2 gdal

    惭愧,之前一直没在linux下编译过opencv,也没用过纯命令行版的cmake,现在咬牙编译一次.其实感觉还凑合. opencv官网文档还是那么烂:https://docs.opencv.org/m ...

  6. 最新省市区数据,sql插入语句

    --省数据 insert into Province (ProvinceName)  values('北京市'); insert into Province (ProvinceName)  value ...

  7. 配置java环境jdk

    最近尝试改公司的项目中的一个后台管理系统,前后台都让我一个做,所以要配置一下java环境: 1. 按装jdk 1.6//2. 安装eclipse3. 安装maven4. 安装eclispe的maven ...

  8. Notepad++安装json插件

    安装  : 1.下载插件压缩包并解压出dll:NPPJSONViewer.dll(64位) 下载地址:https://pan.baidu.com/s/1JeBzrovb-GHRo14vO-AnJA 提 ...

  9. Redis持久化AOF和RDB对比

    RDB持久化 AOF持久化 全量备份,一次保存整个数据库 增量备份,一次保存一个修改数据库的命令 保存的间隔较长 保存的间隔默认一秒 数据还原速度快 数据还原速度一般 save会阻塞,但bgsave或 ...

  10. 验证码之SimpleCaptcha (二)

    上回说到了简单的使用simpleCaptcha,这次我们这次我们将讲解扩张simpleCaptcha.       回到正题,我们需要一些自定义的验证码,比如验证码的字体大小,背景,颜色等等,默认的验 ...