一文詳解 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格式的數據。

在這里插入圖片描述
在這里插入圖片描述

最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/166675.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166675.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166675.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java堆文件排查

技術主題 在之前的開發的一個項目中&#xff0c;因為程序的一個bug&#xff0c;導致一些引用的對象一直沒有回收&#xff0c;從而導致堆內存一直在增大&#xff0c;老年代一直在增大&#xff0c;老年代進行堆積&#xff0c;后來的排查思路是通過dump堆的文件&#xff0c;然后對…

Dockerfile-CentOS7.9+Python3.11.2

本文為CentOS7.9下安裝Python3.11.2環境的Dockerfile # CentOS with Python3.11.2 # Author xxmail.com# build a new image with basic centos FROM centos:centos7.9.2009 # who is the author MAINTAINER xxmail.comRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/…

vue的生命周期及不同階段狀態可以進行的行為

什么是vue的生命周期&#xff1f; Vue 的實例從創建到銷毀的過程 &#xff0c;就是生命周期 &#xff0c;也就是從開始創建 &#xff0c;初始化數據 &#xff0c;編譯模板 &#xff0c;掛載Dom到渲染DOM &#xff0c;更新數據再到渲染 &#xff0c;卸載等一系列的過程 &#x…

OpenAI研發神秘“Q*”模型:科學家認輸,AI贏了人類關鍵一戰

圖片來源&#xff1a;視覺中國 作者丨葉蓁 編輯丨康曉 出品丨深網騰訊新聞小滿工作室 在山姆奧特曼&#xff08;Sam Altman&#xff09;被OpenAI前董事會突然罷免之前&#xff0c;數位研究人員向董事會發送了一封信&#xff0c;警告稱他們發現了一種能夠威脅到人類的強大人工…

IIS 基線安全加固操作

目錄 賬號管理、認證授權 ELK-IIS-01-01-01 ELK-IIS-01-01-02 ELK-IIS-01-01-03 ELK-IIS-01-01-04 日志配置 ELK-IIS-02-01-01 ELK-IIS-02-01-02 ??????? ELK-IIS-02-01-03 通信協議 ELK-IIS-03-01-01 設備其他安全要求 ELK-IIS-04-01-01 ??????? ELK-I…

【DDS】OpenDDS配置與使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 這篇文章主要介紹OpenDDS配置與使用。 無專精則不能成&#xff0c;無涉獵則不能通。——梁啟超 歡迎來到我的博客&#xff0c;一起學習&#xff0c;共同進步。 喜歡的朋友可以關注一下&#xff0c;下次更…

華為云編譯構建CodeArts Build常見問答匯總

1.【Build】公有云編譯構建是否支持導入外部機器做執行機 答&#xff1a;參考鏈接&#xff1a;https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0017.html ? 使用代理機功能&#xff0c;需要配備1臺4U8G或以上規格、磁盤>80GB的主機。 ? 安裝代理的…

Ubuntu 啟用 root 用戶

在啟用 root 用戶之前&#xff0c;我們先來了解一下&#xff0c; ubuntu 命令的組成。 打開 ubuntu 的終端&#xff0c;現在的命令行是由 topeetubuntu:~$ 這幾個字母組成&#xff0c;那么這幾個字母都代表 什么意思呢&#xff1f; topeet …

配電室智慧運維監控系統

配電室智能運維監控系統是一個綜合性的管理系統&#xff0c;專門針對配電室的運維工作進行設計。依托電易云-智慧電力物聯網&#xff0c;它融合了先進的監測技術、自動化技術、數據分析技術等&#xff0c;對配電室進行全方位、實時的智能化監控和管理&#xff0c;以提升配電室運…

人工智能對當代生活的影響

人工智能&#xff08;AI&#xff09;是指通過模擬人類智能的方式&#xff0c;使機器能夠執行某些需要智能的任務。隨著技術的快速發展和應用的廣泛推廣&#xff0c;人工智能已經深入到我們的日常生活中&#xff0c;對我們的生活和社會產生了深遠的影響。本文將探討人工智能對當…

Django同時連接多種數據庫

我的使用場景需要同時連接達夢數據庫和MYSQL數據庫&#xff0c;有的功能需要查詢達夢&#xff0c;有的功能則需要查詢MYSQL。 第一步&#xff1a;在 Django 的 settings.py 文件中&#xff0c;配置多個數據庫連接。你可以在 DATABASES 字典中添加多個數據庫配置。每個數據庫配置…

關于 Google AMP 和 SEO

Google 于 2015 年首次推出 AMP&#xff0c;即加速移動頁面。借助開源 AMP 框架&#xff0c;網頁設計師可以制作快速加載的移動網頁。該框架的創建是為了應對使用移動設備訪問互聯網的個人數量的增加。從那時起&#xff0c;谷歌一直在推動使用 AMP 來增強移動設備上的 SEO 和用…

【漏洞復現】好視通視頻會議系統(fastmeeting) toDownload.do接口存在任意文件讀取漏洞 附POC

漏洞描述 “好視通”是國內云視頻會議知名品牌,擁有多項創新核心技術優勢、多方通信服務牌照及行業全面資質 [5] ,專注為政府、公檢法司、教育、集團企業等用戶提供“云+端+業務全場景”解決方案。用全國產、高清流暢、安全穩定的云視頻服務助力各行各業數字化轉型。 其視頻…

opencv-Meanshift 和 Camshift 算法

MeanShift 和 CamShift 都是用于目標跟蹤的算法&#xff0c;基于顏色直方圖的方法。它們主要用于在視頻序列中追蹤運動的對象。 MeanShift&#xff08;均值漂移&#xff09;: 原理: MeanShift 算法的基本思想是通過不斷調整窗口的中心&#xff0c;使得窗口中的樣本點的平均值向…

介紹正則表達式及其用法

正則表達式&#xff08;Regular Expression&#xff09;&#xff0c;簡稱為"正則"&#xff0c;是一種用于描述、匹配、搜索文本的方式。正則表達式通常由符號和字符組成&#xff0c;可以用于匹配和搜索特定模式的文本。 以下是一些常用的正則表達式元字符及其用法&am…

多模態常見任務介紹

視覺問答&#xff08;VQA&#xff0c; Visual Question Answer&#xff09; 目標&#xff1a;給定一個圖片以及問題&#xff0c;需要理解圖片的內容并基于此用自然語言回答問題。 例如&#xff0c;圖像中發生什么事&#xff0c;人物穿的衣服是什么顏色&#xff0c;圖像中有多…

復亞智能交通無人機:智慧交通解決方案大公開

城市的現代化發展離不開高效的交通管理規劃。傳統的交通管理系統龐大繁瑣&#xff0c;交警在執行任務時存在安全隱患。在這一背景下&#xff0c;復亞智能交通無人機應運而生&#xff0c;成為智慧交通管理中的重要組成部分。交通無人機憑借其高靈活性、低成本、高安全性等特點&a…

兒童在線學習系統 寶寶云幼兒園服務微信小程序的設計與實現

綜合運用所學的程序設計基礎、數據結構、數據庫原理及應用、高級語言程序設計、面向對象程序設計、軟件需求分析與建模、軟件設計與體系結構、軟件測試等課程知識&#xff0c;設計開發一個較實用的應用系統。 通過該設計可以鞏固并提高軟件工程專業學生的軟件需求分析、設計、開…

SpringCloud原理-OpenFeign篇(四、請求原理)

文章目錄 前言正文一、書接上回&#xff0c;從代理對象入手二、ReflectiveFeign.FeignInvocationHandler#invoke()三、SynchronousMethodHandler#invoke(...) 的實現原理3.1 invoke(...)源碼3.2 executeAndDecode(...) 執行請求并解碼 四、如何更換client 的實現 附錄附1&#…