当前位置: 首页 > news >正文

Python requests

1.requests简介

        Python requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。

2.requests使用

2.1 发送GET请求

response = requests.get("http://www.baidu.com")

2.2 发送POST请求

response = requests.post(url='https://ihrm-java.itheima.net/api/sys/login',headers={'Content-Type': 'application/json'},  #指定请求头json={"mobile": "13800000002", "password": "123456"},#当content-Type是json类型时使用json属性设置请求体data={"key":"value"} #当content-Type是表单类型时使用data设置请求体cookies={}, #设置cookie,一般用在两个有依赖的接口上,比如只有登录才能访问历史订单,我们在访问历史订单的请求中就需要携带登录请求返回的cookietimeout=10   #超时时间)

其他的delete,put也是类似的,只是方法不同,这里不再列出。

3.查看响应对象的属性

具体使用:

我们一般使用status_code配合unittest设置断言:self.assertEqual("200" , response.status_code)或者将响应体转换为json对象查看某个属性,当然也可以对他进行断言:response.json().get('属性名')

4.requests.Session()

        当存在两个接口有依赖关系,需要使用到cookie时,我们可以实例化一个requests.Session()对象,通过这个对象调用GET或者POST方法,它会自动保存cookie,不需要我们显式指定cookie,比如现在有一个登录接口login,一个查看历史订单接口show_history。要想正确访问show_history,就必须携带login返回的cookie值,我们就可以使用下面的代码:

session = request.Session()
sesison.get("xxxx/login")
response = session.get("xxxx/show_history")
#现在response就成功获取了查看历史订单的响应体对象

下面是是使用普通requests方法实现同样的效果:

response = requests.get("xxxx/login")
cookie = response.cookies
response = requests.get(url='xxxx/show_history',cookies=cookie)

可以看出普通requests需要手动管理cookie,而session对象则可以自动。

http://www.xdnf.cn/news/672013.html

相关文章:

  • App Runner和Task Pipeline中的数据库连接管理指南
  • 【数据结构】树形结构--二叉树
  • U-Boot ARMv8 平台异常处理机制解析
  • Android studio 查看aar源码出现/* compiled code */
  • 基于 MindQuantum 记录线路作用下基底态的变化过程
  • 让jupyter notebook显示目录
  • 大模型应用:开发移动端页面个人中心页面提示词
  • 基于大模型预测视神经脊髓炎的技术方案大纲
  • Ubuntu 20.04 下 OpenCV 4.5.4 编译安装与系统默认 OpenCV 4.2 共存切换指南【2025最新版!!!】
  • Elasticsearch创建快照仓库报错处理
  • 嵌入式学习--江协stm32day3
  • 阿里云服务器采用crontab定时任务使acme.sh全自动化申请续签免费SSL证书,并部署在Linux宝塔网站和雷池WAF
  • 基于递归思想的系统架构图自动化生成实践
  • VMware-MySQL主从
  • AI提示工程(Prompt Engineering)高级技巧详解
  • 【大模型实战篇】BGE-Rerank-base重排服务部署教程
  • AI前端开发岗位面试准备指南
  • 什么是数据驱动?以及我们应如何理解数据驱动?
  • 什么是可重组机器人?
  • 33. 自动化测试开发之使用mysql异步连接池实现mysql数据库操作
  • 前端域名、端口、协议一样,本地缓存可以共享吗?
  • 【b站计算机拓荒者】【2025】微信小程序开发教程 - chapter3 项目实践 - 2信息采集
  • Protocol Buffers 复杂嵌套编译指南:生成 C++ 代码
  • JavaScript- 3.2 JavaScript实现不同显示器尺寸的响应式主题和页面
  • 开源酷炫大数据可视化大屏html+eacher 100+套
  • 力扣热题——分类求和并作差
  • Vue-02 (使用不同的 Vue CLI 插件)
  • 从 PyTorch 到 TensorFlow Lite:模型训练与推理
  • 【华为云物联网】iOtDA数据以表格字段转发OBS的设置攻略,便于以后数据上大屏
  • 如何描述BUG