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

【Python|接口自动化测试】使用requests库发送HTTP请求

1.requests模块介绍

Python的requests模块是一个非常流行的第三方库,用于发送HTTP请求。它简化了与Web服务进行交互的过程,使得开发人员可以更方便地处理HTTP请求和响应。

本篇文章需要对HTTP和Python有一定的了解,只会解释关键性的操作

安装requests模块,可以使用pip命令进行安装:

pip install requests

mac环境使用pip3 install requests命令

在这里插入图片描述
在接口测试时,要根据接口文档进行测试。

2.发送get请求

接口URL:http://sellshop.5istudy.online/sell/shouji/query?shouji=15618919442&appkey=0c818521d387591
接口文档:
在这里插入图片描述
返回响应:
在这里插入图片描述
使用requests请求这个接口:

import requests

params = {
    "shouji": "15618919442",
    "appkey": "0c818521d387591"
}
result = requests.get(url="http://sellshop.5istudy.online/sell/shouji/query",params=params)

print(result.status_code)
print(result.json())

运行结果:
在这里插入图片描述
首先导入requests模块,以便可以使用其提供的API来发送HTTP请求
定义请求参数为params,它是一个字典,其中包含了要发送到服务器的查询字符串参数。这里有两个键值对:“shouji” 和 “appkey”。
使用requests.get()函数发送一个GET请求到指定的URL,并且通过params参数传递查询字符串。result变量存储了这个请求的结果,即Response对象。
最后打印返回响应的状态码以及返回json响应

代码实现起来还是很简单的,后面就不详细说明了

3.发送post请求

post请求是有请求中是有body的,所以在进行post请求中往往在body中进行传传参。
body中传参的格式有很多,用的最多的就是json和form-data。

在这里插入图片描述
首先是使用json参数调用接口
接口URL:https://jsonplaceholder.typicode.com/posts
接口请求json:
在这里插入图片描述
接口请求成功时响应信息:
在这里插入图片描述
代码实现:

import requests

json_data = {
    "title": "foo",
    "body": "bar",
    "userId":1
}

r = requests.post(url="https://jsonplaceholder.typicode.com/posts",json=json_data)
print(r.status_code)
print(r.json())

运行结果:
在这里插入图片描述
form- data传递参数:
接口URL:https://dict.youdao.com/keyword/key
请求参数:在这里插入图片描述
接口返回响应:
在这里插入图片描述
代码实现:

import requests
data = {
    "text": "hello"
}
r = requests.post(url="https://dict.youdao.com/keyword/key",data=data)
print(r.status_code)
print(r.json())

运行结果:
在这里插入图片描述


http://www.kler.cn/a/327558.html

相关文章:

  • 网络安全之国际主流网络安全架构模型
  • 【学习笔记】科学计算
  • 三维测量与建模笔记 - 点特征提取 - 4.3 Harris特征点
  • ScubaGear:用于评估 Microsoft 365 配置是否存在安全漏洞的开源工具
  • vulhub之log4j
  • 【算法】【优选算法】前缀和(下)
  • Django连接Azure服务器里的gpt-4o并实现聊天功能
  • PHP程序如何实现限制一台电脑登录?
  • maven parent: 指定了项目的父 POM packaging: 指定打包类型为 POM。 modules: 列出了该项目包含的子模块,
  • 【开源免费】基于SpringBoot+Vue.JS校园资料分享平台(JAVA毕业设计)
  • opus基础简介(github)
  • 使用rsync+jenkins实现服务自动部署全流程
  • React 生命周期 - useEffect 介绍
  • WebGIS包括哪些技术栈?怎么学习?
  • 足球青训俱乐部后台:Spring Boot开发策略
  • 滚雪球学MySQL[11.1讲]:总结与展望
  • Spring Boot 点餐系统:简化您的订餐流程
  • 一个服务器可以搭建几个网站
  • vue结合element-ui实现列表拖拽变化位置,点击拖动图标拖动整个列表元素,使用tsx格式编写
  • SpringBootTest Mockito 虚实结合编写测试
  • LPDDR4芯片学习(二)——Functional Description
  • 解锁高效开发的秘密武器
  • <Rust>egui学习之部件(十三):如何为文本添加链接Link和超链接HyperLink功能?
  • 基于J2EE技术的高校社团综合服务系统
  • 设计模式---代理模式
  • webpack使用