Python接口测试之如何使用requests发起请求例子解析

news2024/9/20 9:38:11

在这里插入图片描述
在Python中,使用requests库发起HTTP请求是一种常见的接口测试方法。以下是一些使用requests库的基本示例,涵盖了GET、POST、PUT、DELETE等HTTP方法。

安装requests库

首先,确保你已经安装了requests库。如果未安装,可以通过以下命令安装:

pip install requests

GET请求示例

import requests

# 发起GET请求
response = requests.get('http://httpbin.org/get', params={'key': 'value'})
# 打印响应内容
print(response.text)
# 打印响应状态码
print(response.status_code)
# 打印响应头
print(response.headers)

POST请求示例

# 发起POST请求
response = requests.post('http://httpbin.org/post', data={'key': 'value'})
# 也可以使用JSON数据
# response = requests.post('http://httpbin.org/post', json={'key': 'value'})
# 打印响应内容
print(response.text)

PUT请求示例

# 发起PUT请求
response = requests.put('http://httpbin.org/put', data={'key': 'value'})
# 打印响应内容
print(response.text)

DELETE请求示例

# 发起DELETE请求
response = requests.delete('http://httpbin.org/delete')
# 打印响应内容
print(response.text)

处理响应内容

requests库返回的响应对象response包含了服务器响应的所有信息。你可以使用response.text获取响应的文本内容,使用response.json()解析JSON格式的响应,使用response.status_code获取HTTP状态码等。

使用会话(Session)

在进行多个请求时,使用requests.Session()对象可以保持某些参数和cookie,示例如下:

with requests.Session() as session:
    session.headers.update({'x-test': 'true'})
    response = session.get('http://httpbin.org/headers')
    print(response.text)

异常处理

在实际的接口测试中,处理异常是非常重要的。可以使用try...except块来捕获并处理异常:

try:
    response = requests.get('http://httpbin.org/get', timeout=0.01)
except requests.exceptions.Timeout:
    print("请求超时")
except requests.exceptions.RequestException as e:
    print(f"请求异常: {e}")

这些示例提供了使用requests库进行接口测试的基本方法。根据实际需求,你可能还需要添加更多的功能,如设置代理、处理cookies、使用SSL证书等。

喜欢本文,请点赞、收藏和关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2080176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【系统分析师】-案例篇-数据库

1、分布式数据库 1)请用300字以内的文字简述分布式数据库跟集中式数据库相比的优点。 (1)坚固性好。由于分布式数据库系统在个别结点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,系统的坚固性好&…

线程:线程创建pthread_create,线程间的同步与互斥

线程的创建 线程的创建是通过调用pthread_create函数来实现的。该函数的原型如下: int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);参数说明: thread:指向pthread_t类型…

开源word文档相似度对比 软件WinMerge

WinMerge 官网下载 :GitHub - WinMerge/winmerge: WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and hand…

ros2_python编程_多个文件python打包_目录拷贝_解决import错误问题ModuleNotFoundError

1.问题 ros2 python编写程序, 有多个python文件 如何打包多个python文件?解决import错误问题如何打包 有python目录结构的工程 1.ros2 多个python文件示例 代码目录结构, gitee 在线代码 tree 7_multi_file_setup/ 7_multi_file_setup/ ├── file1.py ├── main_node.…

飞书怎么关联任意两段话

最近开始用飞书记文档,体验实在是非常的丝滑,对我来说感觉没有找到更好的竞品了。废话不多说,接下来简单介绍一下怎么关联任意两段话吧。 首先说明,关联可以单向,也可以双向。 直接举例。 我想要将蓝字关联到最下面的…

国标GB28181视频监控EasyCVR视频汇聚平台国标注册被陌生IP入侵如何处理?

GB28181国标/GA/T1400协议/安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。智慧安防/视频存储/视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级…

Java基础(包装类)

文章目录 前言 一、包装类的概述 二、自动拆装箱 三、128陷阱(面试重点) 四、自动拆装箱例题分析 前言 该篇文章创作时参考查阅了如下文章 Java种的包装类 Java包装类(自动拆装箱) Java--自动拆箱/装箱/实例化顺序/缓存…

第三期书生大模型实战营之茴香豆工具实践

文章目录 基础任务作业记录1. 环境准备2. 模型准备3. 修改配置文件4. 知识库创建6. 启动茴香豆webui 基础任务 在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答(问题不可与教程重复,作业截图…

IDEA2023版本创建SSM项目框架

按图中红色数字顺序,先点击Maven,设置该项目为maven构建管理的项目,然后点击create进行项目创建 配置该项目的相关maven信息,按下图顺序进入到maven配置页面后进行本地maven相关信息配置。 创建web模块依次按下图中顺序进行点击 配…

朴世龙院士团队《Global Change Biology 》精确量化全球植被生产力对极端温度的响应阈值!

本文首发于“生态学者”微信公众号! 随着全球气候变暖的加剧,极端温度事件对陆地生态系统的影响日益显著。植被作为生态系统的重要组成部分,其生产力对温度变化的响应尤为敏感。然而,关于极端温度如何以及在何种程度上影响植被生产…

TCP三次握手过程详解

三次握手过程: 客户端视角: 1.客户端调用connect,开启计时器,发送SYN包,如果重传超时,认为连接失败 2.如果收到服务端的ACK,则进入ESTABLISHED状态 3.清除重传计时器,发送ACK&…

windows权限维持汇总

Windows 权限维持 一、文件层面 1)attrib 使用 Attrib s a h r 命令 s:设置系统属性(System) a:设置存档属性(Archive) h:设置隐藏属性(Hidden) r&#…

深度学习基础--11个专题带你入门Pytorch上

目的 本专栏更新深度学习基础,包括pytorch、tensorflow的使用以及CNN、RNN、yolo、GAN、LSTM、Transformer等神经网络的理论基础 前言 Pytorch是最常用的深度学习框架,里面包含了大量关于构建神经网络及其运算的APIPytorch基础入门分为上下两篇文章&am…

基于事件总线EventBus实现邮件推送功能

什么是事件总线 事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 关于这个概念,网上有很多讲解的,这里我推荐一个讲的比较好的&#x…

光伏设计时要画出哪些模型?

在光伏系统的设计中,为了确保项目的顺利实施与高效运行,设计师需要绘制多种模型来综合考虑各种因素,包括参照物、障碍物以及楼顶配房等。这些模型不仅有助于预测光伏系统的发电效率,还能帮助规划最佳的安装布局,减少阴…

碎片笔记|Computer Journal 期刊投稿注意事项

前言:3月份把之前做的一篇工作转投到了computer journal,8月7号来信说我投稿的工作之前因为挂在arXiv上,因此和正常的投稿要求不太一致,需要更换投稿方式,编辑提供了两种选择如下。 The first choice is to keep your …

python 接口自动化测试中的高阶函数!

高阶函数简介 高阶函数是指接受函数作为参数或者返回函数作为结果的函数。在 Python 中,有许多内置的高阶函数,如 map, filter, reduce 等,它们可以极大地简化代码并提高代码的可维护性。 summer camp map 函数 map 函数接收一个函数和一个…

Jmeter下载、配置环境变量

Jmeter下载 下载地址:Apache JMeter - Download Apache JMeter 下载后无需安装,解压后即可使用。解压后目录如下 配置环境变量 JMETER_HOME 环境变量Path %JMETER_HOME%\bin 环境变量CLASSPATH %JMETER_HOME%\lib 验证是否配置成功 在cmd命令窗中 输入…

玄机又成国漫首创!IP与AI融合,凭实力火出圈

现在国漫越来越卷了,不仅卷制作质量,还卷各种花式联动。最近玄机科技和百度文库联合举办的AI漫画大赛圆满结束,这还是国内的IP第一次和AI技术融合,而且产出了不少好作品。下面就一起来看看吧! 提到玄机科技&#xff0c…

机器人笛卡尔空间轨迹规划-直线差补和圆弧差补

上一文,我们讨论了三次多项式和五次多项式的差补算法,那么这边文章具体讨论一下笛卡尔空间轨迹规划的直线差补和圆弧差补。 步骤 (1)知道起始点和终止点的位姿,和速度信息。 (2)根据两点能确定一…