一文详解 requests 库中 json 参数和 data 参数的用法

news2024/11/24 14:00:39

在requests库当中,requests请求方法,当发送post/put/delete等带有请求体的请求时,有json和data2个参数可选。

众所周知,http请求的请求体格式主要有以下4种:

  1. application/json
  2. applicaiton/x-www-from-urlencoded
  3. multipart/form
  4. application/xml

那么针对以上的请求格式,都分别使用什么参数呢?

接下来一一示例说明。

第一种:application/json

第一步:找到一个application/json请求的接口

图片

如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a 

第二步:发起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 ET
        root = ET.fromstring(xml_data)
        username = root.find('username').text
        password = root.find('password').text
    except 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格式的数据。

图片

图片

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

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

相关文章

291. 单词规律 II(plus题)

给你一种规律 pattern 和一个字符串 s&#xff0c;请你判断 s 是否和 pattern 的规律相匹配。 如果存在单个字符到 非空 字符串的 双射映射 &#xff0c;那么字符串 s 匹配 pattern &#xff0c;即&#xff1a;如果 pattern 中的每个字符都被它映射到的字符串替换&#xff0c;那…

python发送邮件zmail库

第三方库“zmail”和“yagmail”可实现邮件发送。在实际使用对比zmail比yagmail更简洁。使用zmail&#xff0c;无需登录OA邮箱&#xff0c;便可完成邮件的发送及附件的自动加载。 import zmaildef send_zmail(sender, sender_password, addressee, host, port465, inspect_smtp…

<C语言> 自定义类型

1.结构体 结构体是一种用户自定义的数据类型&#xff0c;允许将不同类型的数据项组合在一起&#xff0c;形成一个更大的数据结构。结构体可以包含多个成员变量&#xff0c;每个成员变量可以是不同的数据类型&#xff0c;如整数、字符、浮点数等&#xff0c;甚至可以包含其他结构…

师承AI世界新星|7天获新加坡南洋理工大学访学邀请函

能够拜师在“人工智能10大新星”名下&#xff0c;必定可以学习到前沿技术&#xff0c;受益良多&#xff0c;本案例中的C老师无疑就是这个幸运儿。我们只用了7天时间就取得了这位AI新星导师的邀请函&#xff0c;最终C老师顺利获批CSC&#xff0c;如愿出国。 C老师背景&#xff1…

线程与信号

1.子线程会继承主线程信号处理配置&#xff0c;故信号配置可以全部放在主线程内。 2.同一信号多次触发或者嵌套触发不会嵌套执行。 3.不同信号可以嵌套触发执行。 4.kill()触发的信号由进程&#xff08;主线程&#xff09;执行&#xff0c;pthread_kill()触发的信号由参数指…

数据结构-单链表

#include<stdio.h> #include<stdlib.h>typedef struct Node {int data;struct Node* next; }Node;//创建一个头结点&#xff0c;数据域保存链表节点数 Node* init_single_list() {Node* node (Node*)malloc(sizeof(Node));node->next NULL;node->data 0; …

想知道搭建知识库有什么重点?看这篇就够了

在目前这个提倡无纸化的时代&#xff0c;搭建一个知识库已经是一种潮流。无论是个人还是企业来说&#xff0c;都是特别重要的一个工具。今天looklook就从搭建知识库的重点这方面来展开&#xff0c;详细地告诉大家该如何成功搭建一个完善的知识库。 搭建知识库的重点 1.建立素材…

ASUS华硕飞行堡垒8笔记本FX506LH LI LU FX706原装出厂 Win10系统工厂模式20H2

自带所有驱动、出厂主题壁纸LOGO、Office办公软件、MyASUS电脑管家、奥创控制中心等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;HDI,SWP,OFS,EDN,KIT,TLK多个底包 文件大小&#xff1a;10.95GB 注&#xff1a;恢复时会清空电脑上所有盘的数据&…

大小端模式

文章目录 一、概念二、举例三、判大小端和交换 一、概念 大端模式&#xff08;Big-endian&#xff09;&#xff0c;是一种数据存储方式&#xff0c;其中较高的字节&#xff08;最高有效字节&#xff09;存储在较低的内存地址&#xff0c;较低的字节&#xff08;最低有效字节&am…

php 开发微信 h5 支付 APIv3 接入超详细流程

✨ 目录 &#x1f388; 申请商户号&#x1f388; 申请商户证书&#x1f388; 设置V3密钥&#x1f388; 开通H5支付&#x1f388; 设置支付域名&#x1f388; SDK 下载&#x1f388; 第一次下载平台证书&#x1f388;非第一次下载平台证书&#x1f388; H5下单 &#x1f388; 申…

如何在WordPress网站中更改字体(8 种方法)

字体在网站设计中起着至关重要的作用。它们为设计和整体美学定下了基调&#xff0c;可以增强或削弱其外观和感觉。为您的网站选择字体集后&#xff0c;您需要知道如何更改它们。在 WordPress 中更改字体的方法有多种。如何更改它们取决于许多因素&#xff0c;包括您使用的主题类…

西安---高时空分辨率、高精度一体化预测技术之风、光、水能源自动化预测技术应用

能源是国民经济发展和人民生活必须的重要物质基础。在过去的200多年里&#xff0c;建立在煤炭、石油、天然气等化石燃料基础上的能源体系极大的推动了人类社会的发展。但是人类在使用化石燃料的同时&#xff0c;也带来了严重的环境污染和生态系统破坏。近年来&#xff0c;世界各…

9、PHP超级全局变量$_REQUEST 、$_POST、$_GET

1、PHP $_REQUEST 、$_POST用于收集HTML表单提交的数据。 以下代码演示了一个输入字段&#xff08;input&#xff09;及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文…

在阿里云平台注册一个域名

我们访问阿里云官网 阿里云 然后 我们右上角点击登录 然后 按正常操作流程登录 登录成功后 我们点击控制台 我们将鼠标 移入 右上角 图片指向的位置 我们点击域名 进入界面后点击注册域名 在输入框中输入域名内容 然后 按回车 然后弹出的列表 我们可以选一个未注册的 点击…

学习Dubbo前你要了解这些

文章目录 Dubbo的发展背景单一应用架构垂直应用架构分布式服务架构流动计算架构 RPCRPC的简单原理 DubboDubbo是什么Dubbo作者Dubbo的发展历程Dubbo架构 Dubbo发音&#xff1a; |ˈdʌbəʊ| Dubbo官方网站&#xff1a;http://dubbo.apache.org/ Dubbo是阿里巴巴开发的&#…

【Linux系统】结合有趣的小故事让你学懂生产者消费者模型

目录 由故事引入模型故事背景供货商们的矛盾市民们和供货商之间的矛盾一市民们和供货商之间的矛盾二市民们的矛盾模型总结 生产者消费者模型为什么要使用生产者消费者模型&#xff1f;生产者消费者模型的特点生产者消费者模型优点 基于BlockingQueue的生产者消费者模型C queue模…

含CPU芯片的PCB可制造性设计问题详解

CPU是中央处理器&#xff0c;Central Processing Unit 英文的缩写&#xff0c;电脑中一个最重要&#xff0c;最核心的东西&#xff0c;相当一个人的大脑&#xff0c;是用来思考、分析和计算的。目前市面上比较常见的CPU来自两个品牌&#xff0c;一个是intel公司生产的&#xff…

电脑数据恢复:恢复Windows中永久删除的文件

什么是数据恢复及其工作原理&#xff1f; 一般来说&#xff0c;数据恢复是从内部和外部硬盘、固态硬盘、USB、SD卡和其他辅助存储设备中恢复无法访问、删除、丢失、损坏的数据的过程。 删除文件后&#xff0c;你的Windows操作系统会自动将不需要的文件保存到回收…

Windows系统中数据标注软件LabelImg的安装和基本使用

文章目录 前言安装LabelImgLabelImg基本使用LabelImg支持的快捷键相关链接 前言 LabelImg是国立台湾大学&#xff08;National Taiwan University&#xff09;的Tzuta Lin主导完成&#xff0c;并基于免费软件许可MIT LICENSE发布在github上的一款计算机视觉&#xff08;Comput…

Ansible自动化运维工具的认识

目录 一、Ansible概述 二、Ansible特点 三、Ansible应用 1、使用者 2、Ansible工具集合 3、作用对象 四、Ansible的搭建 1、实验环境 2、环境准备 Ansible&#xff1a; 3、创建ssh免密交互登录 client端环境准备 五、Ansible配置 六、Ansible命令 1、ansible 实…