一文详解 requests 库中 json 参数和 data 参数的用法
在requests库当中,requests请求方法,当发送post/put/delete等带有请求体的请求时,有json和data2个参数可选。
众所周知,http请求的请求体格式主要有以下4种:
application/json
applicaiton/x-www-from-urlencoded
multipart/form
application/xml
那么针对以上的请求格式,都分别使用什么参数呢?
接下来一一示例说明。
第一种:application/json
第一步:找到一个application/json请求的接口

第二步:发起json格式的http请求 - 使用json参数且字典类型

第二种:applicaiton/x-www-from-urlencoded
第一步:找到一个application/x-www-from-urlencoded请求的接口

第二步:发起x-www-from-urlencoded格式的http请求 - 使用data参数
具体代码如下:

第三种:multipart/form
第一步:找到一个multipart/form请求的上传接口

第二步:发起multipart/form格式的http请求 - 使用data和files参数

完整的requests处理上传接口
第四种:application/xml
第一步:设计一个xml格式的接口
现用flask设计一个简单的xml格式的登录接口,请求参数就是用户名和密码。
代码如下(在本地运行,请先安装flask库。将以下代码放在app.py当中):
from flask import Flask, request, Response
app = Flask(__name__)@app.route('/login', methods=['POST'])
def login():# 获取请求体中的XML数据xml_data = request.data# 解析XML数据,提取用户名和密码try:import xml.etree.ElementTree as ETroot = ET.fromstring(xml_data)username = root.find('username').textpassword = root.find('password').textexcept Exception:# 解析失败,返回错误响应response_xml = '0请求格式错误'return Response(response_xml, mimetype='text/xml')# 验证用户名和密码if username == 'python' and password == '1234567890':# 登录成功,返回成功响应 response_xml = '1成功1001'else:# 登录失败,返回失败响应response_xml = '-1用户名或密码错误'return Response(response_xml, mimetype='text/xml')if __name__ == '__main__':app.run()
请求的数据xml格式如下:
<login><username>python</username><password>1234567890</password>
</login>
响应的数据xml格式如下:
<response><code>1</code><message>成功</message><userid>1001</userid>
</response>
在本地pycharm中,使用python app.py运行这个服务,

第二步:发起xml格式的http请求 - 使用data参数
data是字符串类型,且是xml格式的数据。


最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:
一文详解 requests 库中 json 参数和 data 参数的用法
在requests库当中,requests请求方法,当发送post/put/delete等带有请求体的请求时,有json和data2个参数可选。 众所周知,http请求的请求体格式主要有以下4种: application/json applicaiton/x-www-from-urlencoded mu…...
Django学习笔记-AcApp端授权AcWing一键登录
笔记内容转载自 AcWing 的 Django 框架课讲义,课程链接:AcWing Django 框架课。 AcApp 端使用 AcWing 一键授权登录的流程与之前网页端的流程一样,只有申请授权码这一步有一点细微的差别: 我们在打开 AcApp 应用之后会自动向 AcW…...
如何在小红书进行学习直播
诸神缄默不语-个人CSDN博文目录 因为我是从B站开始的,所以一些直播常识型的东西请见我之前写的如何在B站进行学习直播这一篇。 本篇主要介绍一些小红书之与B站不同之处。 小红书在手机端是可以直接点击“”选择直播的。 文章目录 1. 电脑直播-小红书直播软件2. 电…...
F5服务器负载均衡能力如何?一文了解
但凡知道服务器负载均衡这个名词的,基本都知道 F5,因为负载均衡是 F5 的代表作,换句话来说,负载均衡就是由 F5 发明的。提到F5服务器负载均衡能力如何?不得不关注F5提出的关于安全、网络全面优化的解决方案,…...
Ubuntu18.04安装docker-io
1. 安装docker 1.1 网上一搜,全是更新仓库、下载依赖、添加docker的gpg密钥、添加docker仓库、安装docker-ce的步骤,但是在安装docker-ce时却提示“package "docker-ce" has no installation candidate”,就很迷。 1.2 安装docke…...
代码随想录笔记--栈与队列篇
目录 1--用栈实现队列 2--用队列实现栈 3--有效的括号 4--删除字符串中的所有相邻重复项 5--逆波兰表达式求值 6--滑动窗口的最大值 7--前k个高频元素 1--用栈实现队列 利用两个栈,一个是输入栈,另一个是输出栈; #include <iostrea…...
【力扣】55. 跳跃游戏 <贪心>
【力扣】55. 跳跃游戏 给一个非负整数数组 nums ,最初位于数组的第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1…...
在iPhone 15发布之前,iPhone在智能手机出货量上占据主导地位,这对安卓来说是个坏消息
可以说这是一记重拳,但似乎没有一个有价值的竞争者能与苹果今年迄今为止的智能手机出货量相媲美。 事实上,根据Omdia智能手机型号市场跟踪机构收集的数据,苹果的iPhone占据了前四名。位居榜首的是iPhone 14 Pro Max,2023年上半年…...
题目:2620.计数器
题目来源: leetcode题目,网址:2620. 计数器 - 力扣(LeetCode) 解题思路: 定义两个全局变量,一个判断 n 是否改变,另一个记录上一次出现的数。 解题代码: /*** par…...
【MySQL】MySQL系统变量(system variables)列表(SHOW VARIABLES 的结果例)
文章目录 【MySQL】MySQL系统变量(system variables)列表(SHOW VARIABLES 的结果例)SHOW VARIABLES 的结果例参考 【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:S…...
【多AZ】浅述云计算多az
多AZ(Availability Zone)是云计算中一种重要的容灾和冗余策略,它通过在不同的地理位置或不同的设备上存储数据副本以及网络切换策略,以保证在单个设备或地理位置发生故障时,云加计算集群仍然能够提供服务。 多AZ的特点…...
Element浅尝辄止13:Collapse 折叠面板
通过折叠面板收纳内容区域 1.如何使用? 可同时展开多个面板,面板之间不影响 <el-collapse v-model"activeNames" change"handleChange"><el-collapse-item title"一致性 Consistency" name"1">&l…...
51 单片机包含头文件 BIN51.H 直接写二进制数字
51 单片机包含头文件 BIN51.H 直接写二进制 最近学习 51 单片机,写代码的时候感觉用二进制的形式更直观。就是每次都需要宏定义,太麻烦。干脆把所有的8位二进制数字全部用宏定义写出来,放进头文件,下次使用直接包含头文件就行。 …...
php环境搭建步骤(与资源配套使用版)
1.将phpEnv.zip下载到D盘下 2.解压到当前文件夹 3.找到Apache24下的bin目录,执行cmd操作,回车。 4.在cmd中执行代码 Httpd -k install -n “Apache24” 4.使用winR键打开运行,输入services.msc ,回车,进入服务 …...
java 集合处理:
// 1 数组转map public static void main(String[] args) {String backendIdStr"[\"backend-mvj05upv7yc\",\"backend-mvj055qvric\",\"backend-mvj04hlutx4\"]";String[] backendIdList JsonUtil.asObject(backendIdStr, String[].c…...
算法训练第五十二天
718. 最长重复子数组 - 力扣(LeetCode) class Solution { public:int findLength(vector<int>& nums1, vector<int>& nums2) {vector<vector<int>> dp(nums1.size() 1,vector<int>(nums2.size() 1,0));int res…...
LeetCode——回溯篇(三)
刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 目录 46. 全排列 47. 全排列 II 332. 重新安排行程 51. N 皇后 37. 解数独 46. 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任…...
Python爬取京东商品评论
寻找数据真实接口 打开京东商品网址查看商品评价。我们点击评论翻页,发现网址未发生变化,说明该网页是动态网页。 API名称:item_review-获得JD商品评论 公共参数 获取API测试key&secret 名称类型必须描述keyString是调用keyÿ…...
ROS机器人编程---------(一)安装ROS
安装ROS 打开终端按顺序执行下面命令 默认安装在/opt/ros路径下 打开一个终端输入roscore 测试是否安装成功 启动ROS Master roscore启动小海龟仿真器 rosrun turtlesim turtlesim_node启动海龟控制结点 rosrun turtlesim turtlesim_teleop_key使用键盘方向键控…...
Maven入门教程(一):安装Maven环境
视频教程:Maven保姆级教程 Maven入门教程(一):安装Maven环境 Maven入门教程(二):idea/Eclipse使用Maven Maven入门教程(三):Maven语法 Maven入门教程(四):Nexus私服 Maven入门教程(五):自定义脚手架 Maven项…...
GLSL优化器核心优化技术详解:函数内联、死代码消除与常量传播
GLSL优化器核心优化技术详解:函数内联、死代码消除与常量传播 【免费下载链接】glsl-optimizer GLSL optimizer based on Mesas GLSL compiler. Used to be used in Unity for mobile shader optimization. 项目地址: https://gitcode.com/gh_mirrors/gl/glsl-opt…...
Go 内存优化骚操作
1. 零内存占位符:struct{}{}原理:struct{} 是空结构体,Go 编译器对其做了特殊处理,它在内存中不占任何空间(大小为 0 字节)。场景 A:实现集合 (Set)map[string]struct{}。比起 map[string]bool&…...
Midjourney金属质感渲染实战手册(航天级铝钛合金/做旧铜锈/镜面不锈钢三重进阶)
更多请点击: https://intelliparadigm.com 第一章:Midjourney金属质感渲染的核心原理与演进脉络 金属质感在AI图像生成中属于高阶视觉建模任务,其本质依赖于对微观表面结构、镜面反射路径与环境光交互的隐式学习。Midjourney自V5起引入更精细…...
量子转导技术:微波与光学量子系统的桥梁
1. 量子转导技术概述量子转导技术是连接微波与光学量子系统的关键桥梁,其核心功能是实现不同频段量子信息的高保真转换。作为一名长期从事量子器件研发的工程师,我见证了这项技术从实验室走向实际应用的完整历程。简单来说,它就像量子世界的&…...
工业三防灯干货科普:核心参数、选型逻辑及应用场景全解析
在工业照明领域,三防灯是适配恶劣环境的核心照明设备,广泛应用于车间、仓库、隧道、冷链、食品加工等多场景。不同于民用照明灯具,工业级三防灯需具备防尘、防水、防腐蚀的核心能力,其性能直接决定照明稳定性、使用寿命及后期运维…...
2026年房建工程管理软件选购指南:7款主流工具横向对比,助你找到最适合的那一款
2025年,房建行业整体营收下滑5.62%,净利润降幅超20%,利润空间持续收窄。越来越多施工企业意识到,精细化管理是穿越周期的唯一路径。然而,数据孤岛、多分包协同混乱、合规要求升级,让选对一款工程管理软件变…...
ComfyUI Manager终极指南:简单快速管理你的AI绘画插件生态系统
ComfyUI Manager终极指南:简单快速管理你的AI绘画插件生态系统 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vario…...
Audio Slicer:智能音频分割终极指南,告别繁琐手动剪辑
Audio Slicer:智能音频分割终极指南,告别繁琐手动剪辑 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 还在为音频剪辑的繁琐操作…...
5步掌握DSEFix:Windows驱动签名的终极解决方案
5步掌握DSEFix:Windows驱动签名的终极解决方案 【免费下载链接】DSEFix Windows x64 Driver Signature Enforcement Overrider 项目地址: https://gitcode.com/gh_mirrors/ds/DSEFix DSEFix是一个专为Windows x64系统设计的驱动签名强制执行覆盖工具…...
QMCDecode终极指南:三步解锁QQ音乐加密文件,让你的音乐自由播放
QMCDecode终极指南:三步解锁QQ音乐加密文件,让你的音乐自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目…...

