接口自动化核心模块Requests详解(二)

一、概述

使用requests进行接口测试时,主要使用get 和post两种方式,两种请求方式的传参模式和方法是完全不一样的

二、传参实战

2.1 post传参的数据格式

使用post进行传参时,有三种数据格式,data(键值对的字典),json(有嵌套的字典),files(文件上传)。

1.data(键值对的字典)

默认:Content-Type:application/x-ww-form-urlencoded数据格式:

key1=value1 & key2=value2

当使用json.dumps(data)转换之后,那么默认:'Content-Type':'application/json'
2.json(有嵌套的字典)

默认:'Content-.Type':'application/json'
3.files:(文件上传)

默认:'Content-Type':'multipart/form-data

boundary=50dcca52ed21a4b55651353785ca905a

复制代码
# 设置你的接口URL  
url = 'http://example.com/upload'  
  
# 准备你的文件,这里假设你有一个名为'myfile.txt'的文件  
file_path = 'myfile.txt'  
  
# 准备请求头和数据  
headers = {'Content-Type': 'multipart/form-data'}  
  
# 使用files参数来上传文件  
with open(file_path, 'rb') as file:  
    files = {'file': ('myfile.txt', file, 'text/plain')}  # 这里可以指定文件名、文件对象和MIME类型  
    response = requests.post(url, headers=headers, files=files)  
  
# 检查响应  
print(response.text)  
print(response.status_code)  
2.2 session对象关联
复制代码
class TestAPI01:

    """此处添加类变量,进行接口关联数据的提取"""
    access_token = ""
    session = requests.Session()

    def test_api06(self):
        TestAPI01.session.request("get", url='http://127.0.0.1:8080/api')
相关推荐
草莓熊Lotso17 分钟前
C++ 抽象类与多态原理深度解析:从纯虚函数到虚表机制(附高频面试题)
java·运维·服务器·开发语言·c++·人工智能·笔记
egoist202341 分钟前
[linux仓库]多线程同步:基于POSIX信号量实现生产者-消费者模型[线程·柒]
linux·运维·生产者消费者模型·环形队列·system v信号量
mudtools1 小时前
.NET驾驭Excel之力:自动化数据处理 - 开篇概述与环境准备
c#·自动化·.net·excel·wps
艾莉丝努力练剑1 小时前
【Linux基础开发工具 (二)】详解Linux文本编辑器:Vim从入门到精通——完整教程与实战指南(上)
linux·运维·服务器·人工智能·ubuntu·centos·vim
拾光Ծ1 小时前
Linux高效编程与实战:自动化构建工具“make/Makefile”和第一个系统程序——进度条
linux·运维·自动化·gcc
wazmlp0018873691 小时前
第六章,主从服务器
运维·服务器
Timememory8294 小时前
配置DNS主从服务
运维·服务器
时光不去5 小时前
java接口自动化之allure本地生成报告
运维·笔记·自动化
z202305086 小时前
Linux之vmlinux文件段布局和arm64 的链接脚本vmlinux.lds.S分析
linux·运维·服务器
北京阿法龙科技有限公司9 小时前
AR眼镜基于上下文智能识别:电力运维高效规范操作应用方案|阿法龙XR云平台
运维·ar·xr