首页 > 其他分享 >requests模块Request类

requests模块Request类

时间:2023-04-16 20:24:31浏览次数:29  
标签:None str Request request headers 模块 res requests

1、介绍

requests.request函数执行返回requests.Response类的对象。当然,其他请求函数执行返回也是如此。

然后res.request可以调用获取该响应对象的请求对象,即requests.Request类的对象。如果没有重定向,此时的Request即基本是设置request请求函数的参数设置的。

2、类和初始化

class Request(RequestHooksMixin):
        def __init__(
        self,
        method=None,
        url=None,
        headers=None,
        files=None,
        data=None,
        params=None,
        auth=None,
        cookies=None,
        hooks=None,
        json=None,
    ):
  • Request类支持开发者进行自定义初始化,但是并不能发起请求

3、属性和方法

(1)url和method

这两个属性类型为字符串,并且一个正常的request方法调用其值不为空

(2)headers

1)从值的形式上来说,是字典形式,键和值都是字符串。但实际的数据类型为<class ‘requests.structures.CaseInsensitiveDict’>

2)其值往往也不为空,模块代码会默认设置和携带一些头部

3)以下四种均输出,证明大小写不敏感

if 'user-agent' in res.request.headers:
    print(1)
if 'user-agent' in res.request.headers.keys():
    print(12)
if 'User-Agent' in res.request.headers:
    print(13)
if 'User-Agent' in res.request.headers.keys():
    print(134)

4)对headers直接在pyqt等要求参数为字符串str的场景中必须使用str函数进行强转

(3)body

如果没有设置data或者json,其值为None,类型为NoneType

在pyqt等要求参数为字符串str的场景中必须使用str函数进行强转

如果设置了data或者json,其值为str类型

(4)hooks

属性类型为字典,字典只有一个元素,其键为response,值为一个列表,列表的元素为定义的钩子函数

在pyqt等要求参数为字符串str的场景中必须使用str函数进行强转

{'response': [<function print_url at 0x0000026BC320F0D0>, <function change_url at 0x0000026BC35D0700>]}

标签:None,str,Request,request,headers,模块,res,requests
From: https://www.cnblogs.com/wd404/p/17323960.html

相关文章

  • requests模块Response类
    1、介绍requests.request函数执行的返回对象即requests.Response类的对象。当然,其他请求函数执行返回也是如此。2、类和初始化classResponse:__attrs__=["_content","status_code","headers","url","history&qu......
  • 汉源高科1分8口工业级485集线器8路16路中继器分线器485hub信号隔离器模块
    汉源高科1分8口工业级485集线器8路16路中继器分线器485hub信号隔离器模块......
  • Nginx之数据流代理stream模块简介和使用
    转自 http://t.csdn.cn/RV4Hi一、stream模块简介  stream模块一般用于TCP/UDP数据流的代理和负载均衡,通过stream模块我们可以代理转发tcp报文。ngx_stream_core_module模块从1.9.0版开始提供。默认情况下,此模块不是构建的,应该使用–withstream配置参数启用它,即我们需要使用.......
  • burp攻击模块
    1、介绍intruder入侵模块,实际上是基于不同策略的重复请求,然后测试人员可以结合测试参数,分析响应。从其他模块,选择请求,右键选择sendtointruder,可以将其请求提交到intruder模块进行操作。2、攻击类型选择和测试文本标记(1)攻击类型有四种sniper:狙击手模式,使用一个payload集合......
  • abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级之上(六十一)
     Abp(netcore)+easyui+efcore实现仓储管理系统目录abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二)abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+e......
  • 七彩RGB可控模块教程
    一、硬件介绍七彩RGB可控模块,是个LED灯。但是它有三种颜色,分别为红、绿、蓝。该模块有四个接口,分别是Gnd、R、G、B。 二、控制原理通过PWM来控制LED灯的亮度,除此之外R、G、B、三个口要接三个不同的GPIO口。其实你也将RGB可控模块理解为三个不同颜色的LED灯。 三、......
  • Python模块-requests
    1、requests模块requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。2、模块介绍及请求过程requests模块模拟浏览器发送请求请求流程:指定url-->发起请求-->获取响应对象中存储的数据-->持久化存储3、爬取百度首页#!......
  • Python模块-socket
    1、基于TCP协议的socket通信以打电话为理解方式进行TCP的通信#Server端importsocketphone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#购买电话卡,AF_INET服务器之间网络通信,socket.SOCK_STREAM,流式协议,就是TCP协议phone.bind(('127.0.0.1',8080))......
  • java——maven——分模块——资源加载属性值
    第一步:   第二步:    第三步:                       ......
  • java——maven——分模块——属性定义与使用
                   版本号统一管理                 ......