使用requests处理cookie

Python从0到50(二十一):requests模块的使用和处理cookie requests模块的使用和处理cookie 阅读详情

requests

0x00 需求

常见的 application/json 请求,如果token进行验证,我们可以在header或者body中直接添加,对于使用cookie进行验证的请求,虽然可以自己维护cookie,但是会比token麻烦很多。

之前的忘了请求都是使用python3的urllib进行,当处理cookie时,发现比较困难,因此着手另寻他法,这样就发现了requests。简单看了下,使用起来比urllib方便了好多,好多。不紧紧实现了手动添加cookie的需求,其他接口使用也是相当友好。有时间打算吧之前的代码重构一下。

下面简单介绍下requests的使用。

0x01 requests

Request

  • GET

    • 无参数

      >>> r = requests.get('https://api.github.com/events')`
    • url参数

      >>> payload = {'key1': 'value1', 'key2': 'value2'}
      >>> r = requests.get('http://httpbin.org/get', params=payload)
      >>> print(r.url)
      http://httpbin.org/get?key2=value2&key1=value1

      输出:

      >>> print(r.url)
      http://httpbin.org/get?key2=value2&key1=value1
  • POST

    • form参数

      r = requests.post('http://httpbin.org/post', data = {'key':'value'})
    • json参数

      >>> import json
      >>> url = 'https://api.github.com/some/endpoint'
      >>> payload = {'some': 'data'}
      >>> r = requests.post(url, data=json.dumps(payload))
    • file

      TODO

  • Other:

    • PUT: r = requests.put('http://httpbin.org/put', data = {'key':'value'})
    • DELETE: r = requests.delete('http://httpbin.org/delete')
    • HEAD: r = requests.head('http://httpbin.org/get')
    • OPTIONS: r = requests.options('http://httpbin.org/get')
  • HEADER

    >>> url = 'https://api.github.com/some/endpoint'
    >>> headers = {'user-agent': 'my-app/0.0.1'}
    >>> r = requests.get(url, headers=headers)
  • COOKIES

    请求:

    >>> url = 'http://httpbin.org/cookies'
    >>> cookies = dict(cookies_are='working')
    >>> r = requests.get(url, cookies=cookies)

    请求的数据:

    GET /cookies HTTP/1.1
    Host: httpbin.org
    Connection: keep-alive
    User-Agent: python-requests/2.12.4
    Accept-Encoding: gzip, deflate
    Accept: */*
    Cookie: cookies_are=working

Response

>>> import requests
>>> response = requests.get('https://api.github.com/events')
  • response.url
  • response.encoding 编码
  • response.status_code 状态吗
  • response.headers headers
  • response.text 返回的文本
  • response.json() json
  • response.raw 原始数据
  • response.raise_for_status() 错误请求信息
  • response.cookies
  • response.history

总结

使用过urllib的话,来看requests你会发现简单好多,同时支持python2 和 python3。

参考

—— EOF ——

爬虫中的 Cookie 处理:使用 requests 保存与携带 Cookie 本文详细讲解了Python requests库中Cookie处理的完整流程。首先介绍了Cookie的基本概念和工作原理,然后重点阐述了四种核心方法:1)通过response.cookies获取响应Cookie;2)手动设置cookies参数发送请求;3)使用Session对象自动管理会话Cookie;4)利用LWPCookieJar实现Cookie持久化存储。文章通过多个实用代码示例演示了不同场景下的Cookie操作技巧,并深入分析了各方法的实现原理。针对需要身份验证的爬虫场景,特别强调了Session对象 阅读详情

相关推荐

Python从0到100(二十九):requests模块处理cookie

为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反扒,需要使用request来处理cookie相关的请求。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 8万+

Python Requests使用Cookie的几种方式

Requests 使用Cookie的方式主要有三大类:一、通过headers参数使用cookie,二、通过cookies参数使用cookie,三、通过session会话使用cookie。其中通过session会话使用cookie 又有多种方式,如:0.会话自动设置,1.通过key设置,2.通过set方法设置,3.通过 add_dict_to_cookiejar 方法设置,4.通过 RequestsCookieJar() 对象设置,5.通过 cookiejar_from_dict 方法设置

小青龍 的博客 7万+

Cadence仿真笔记(二):传统noise仿真—共源极的噪声

cadence中进行传统噪声仿真

Bao_xue的博客 1万+

requests的cookie使用

基于session对象实现自动处理cookie思路。 1.创建一个空白的session对象。 2.使用session对象会返回cookie的请求,目的是为了捕获cookie,然后存储到session对象 3.使用携带cookie的session对象发起请求就可以实现携带cookie的请求发送,从而获取想要的数据。 注意:session对象至少需要发起两次请求,所以效率相对直接发requests会慢点,所以不需要cookie的情况不必要使用session import requests session

qq_34577961的博客 1万+

ZYNQ出现问题及解决办法汇总(一直更新)

问题目录使用软件及开发板版本一,vitis在build project时卡住。二,Could not find FPGA device on the board for connection 'Local'三,FPGA configuration failed:DONE PIN is not high四,Could not find ARM device on the board for connection 'Local' 使用软件及开发板版本 开发板:MZ7XA-7020 软件:vitis2020.2(

qq_45057368的博客 1万+

融合双主干网络提升YOLOv8性能一种基于SOTA思想的目标检测改进

YOLOv8采用了单一的主干网络进行特征提取,通常是基于CSPDarknet作为骨干网络,在目标检测过程中通过不同的卷积层提取不同尺度的信息。虽然这种设计在大多数应用场景下表现出色,但在面对复杂背景、细节丰富的物体或小物体检测时,YOLOv8有时难以保持良好的精度。在本文中,我们提出了一种基于双主干网络的YOLOv8改进方案,通过结合先进的SOTA思想,全面提升了YOLOv8在目标检测任务中的表现。双主干网络架构。

博客 1154

Python教程——Requests使用Cookie的几种方式详解

这篇文章将总结 Python Requests库中接口请求时使用Cookie的几种方式,文章使用 Postman 官网提供的接口进行演示。到此这篇关于Python Requests使用Cookie的几种方式的文章就介绍到这了,祝大家学习Python愉快~

2301_80239908的博客 5552

解锁IPG Photonics SmartWeld系统,开启焊接新时代

SmartWeld 系统是 IPG Photonics 研发的一款先进的激光焊接解决方案,它隶属于自动化激光焊接系统类别 ,但却凭借一系列创新技术和独特设计,在众多同类产品中脱颖而出。该系统基于 IPG 在光纤激光技术领域的深厚积累,融合了先进的光束控制、智能监测和自动化控制等技术,旨在为工业制造提供高效、精准且稳定的焊接工艺。与传统激光焊接系统相比,SmartWeld 系统的独特之处首先体现在其光束控制技术上。它能够精确地调整激光束的能量分布、光斑大小和形状 ,以适应不同材料和焊接工艺的需求。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1433

【软件测试】Requests库中处理cookie的几种方式

前言,发送请求时经常需要利用请求头中的cookie字段来做用户访问状态的保持,关于的cookie的处理常见有下面一些处理方式,这里做个小小的总结 1.直接在请求中传递cookies参数

3757

Flatten 层的深度理解与运用

Flatten 层的深度理解与运用

你要拥有一个你喜欢并且热爱的人生 7039

一文带你了解什么是RDMA

RDMA(Remote Direct Memory Access,远程直接内存访问)是一种起源于高性能计算领域的通信技术,如今已广泛应用于数据中心。该技术使得用户程序能够绕过操作系统内核及CPU,直接与网络接口卡(NIC)交互,实现网络通信。这种方式不仅大幅提升了通信带宽,还显著降低了网络延迟,优化了整体性能。

嵌入式技术开发 6017

python 中requests设置cookie

使用requests处理cookie,思路:首先获取到cookie,然后将cookie设置到下个请求头中 方案一: 直接获取响应中的cookie,并通过cookies参数放入下一个请求中 # 方案一 直接获取获取cookie本身 r = requests.get("https://passport.jd.com/new/login.aspx") cookie = r.cookies # 直接使用获取的cookie r2 = requests.post("https://passport.jd..

qq_37556007的博客 2万+

机器学习项目实战案例数据集

本专栏整理了《机器学习项目实战案例》,内包含了各种不同的机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

优快云 精品推荐 3641

requests模块处理cookie相关的请求

目标 掌握requests处理cookie的三种方法 掌握分析js的方法 1 requests处理cookie相关的请求 1.1 回顾cookie和session的区别 cookie数据存放在客户的浏览器上,session数据放在服务器上 coolie不是安全的,别人可以分析放在本地的cookie并进行cookie欺骗 session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务...

沉梦昂志 668

NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]

NL2SQL进阶系列(3):Data-Copilot、Chat2DB、Vanna Text2SQL优化框架开源应用实践详解[Text2SQL]

丨汀、的博客 5422

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

requests进阶——处理cookie、防盗链

requests;cookie;防盗链

什么时候才不是菜鸟.... 619

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

爬虫cookie过期_Python爬虫四 requests处理cookie

requests模块处理cookie相关的请求一、 爬虫中使用cookie为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反爬,需要使用request来处理cookie相关的请求1.1 爬虫中使用cookie的利弊1.带上cookie的好处能够访问登录后的页面.能够实现部分反反爬.2.带上cookie的坏处一套cookie往往对应的是一个用户的信息,请求太频繁有更大的可能...

weixin_28916013的博客 5228

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python爬虫—requests模块的cookie处理

requests模块的cookie处理 无状态HTTP HTTP的无状态指的是http协议对事物处理是没有记忆能力的,也就是说服务器不知道客户端是什么状态。当我们向服务器发送请求后,服务器解析此请求,然后返回对应的响应,服务器负责完成这个过程,而且这个过程是完全独立的,服务器不会记录前后状态的变化,也就是缺少状态记录。这就意味着如果后续需要处理前面的信息,则必须重传,这导致需要额外传递一些前面的重复请求,才能获取后续响应,然而这种效果显然不是我们想要的。为了保持前后状态,我们肯定不能将前面的请求全部重传一次

cosmoslin的博客 2765

requests请求,cookie与session处理

1.requests requests模块是python的第三方模块,用来发送网路请求,常用于爬虫,能够完全满足基于HTTP协议的接口测试。 requests模块安装 安装:pip install requests 验证:pip show requests 其他请求模块 urllib(古董) requests(好用):同步,阻塞模块 aiohttp:异步请求模块 requests请求 例1 # 请求方法:get # 请求地址:http://www.baidu.com # 响.

m0_57353034的博客 1292

【Python爬虫历程】requests库的代理proxy使用以及cookie的处理

1.代理使用 使用requests添加代理也非常简单,只要在请求的方法中(比如get或者post)传递proxies参数就可以了。示例代码如下: import requests proxy={ 'http':'175.42.123.228:9999' } #这里用的是快代理的免费代理地址,自行搜索即可 response=requests.get("http://httpbin...

Demo.demo的博客 9539

cookie代码加时间多久出现一次_Python爬虫四 requests处理cookie

requests模块处理cookie相关的请求一、 爬虫中使用cookie为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反爬,需要使用request来处理cookie相关的请求1.1 爬虫中使用cookie的利弊1.带上cookie的好处能够访问登录后的页面.能够实现部分反反爬.2.带上cookie的坏处一套cookie往往对应的是一个用户的信息,请求太频繁有更大的可能...

weixin_39793576的博客 148

Python requests 库的 cookie 处理

Python requests 库的 cookie  处理 有 2 种方式: 第一种方式: requests使用的cookie格式如下: newCookie={} newCookie['key1']='value1' newCookie['key2]='value2' newCookie['key3']='value3' 发送cookie可以使用: response=req

RogerDL的专栏 1155

14. Requests进阶:处理登录信息与Cookie

我们在前面的爬虫学习过程中已经用过headers了,对它并不陌生。Header为HTTP协议中的请求头,⼀般存放⼀些和请求内容无关的数据,有时也会存放⼀些安全验证信息。比如常见的User-Agent, token, cookie等。通过requests发送的请求,我们可以通过headers保存请求头信息来处理cookie等,也可以单独进行存放,最后由requests来帮我们自动拼接成完整的http请求。本章我们将引入一个新的概念:会话(session)。

Vec_Kun的博客 1008

requests-html会话管理技巧:保持登录状态与cookie处理

你是否遇到过这样的问题:用Python爬取需要登录的网站时,总是在跳转页面后丢失登录状态?requests-html作为一款专为人类设计的Pythonic HTML解析库,提供了强大的会话管理功能,让你轻松处理Cookie和保持登录状态。本文将从实际应用场景出发,详细介绍如何利用requests-html的会话管理能力,解决登录状态保持难题。读完本文,你将掌握HTMLSession对象的核心用法、...

gitblog_00116的博客 879
上一篇: MediaPlayer单曲循环不卡顿
下一篇: Layout inflate遇到的坑
ttdevs
博客等级 码龄15年 388粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值