福州软件网站开发培训班/泉州关键词排名工具

福州软件网站开发培训班,泉州关键词排名工具,抖音宣传推广方案,专业网站制作哪家专业什么是Python中的Requests模块? requests模块是Python中广泛使用的库,用于简化HTTP请求的发送和响应处理。无论是调用API、下载文件、处理复杂会话管理,requests都能提供很好的解决方案。 一、基础使用方法 1.GET请求 GET请求用于获取服务…

什么是Python中的Requests模块?

requests模块是Python中广泛使用的库,用于简化HTTP请求的发送和响应处理。无论是调用API、下载文件、处理复杂会话管理,requests都能提供很好的解决方案。

一、基础使用方法

1.GET请求

GET请求用于获取服务器资源,如:获取商品列表。我们就可以通过传递查询参数在URL中,服务器根据你传的参数返回特定的数据。

import requestsurl = 'http://127.0.0.1:8787/products'
params = {'category':'electronics'}response = requests.get(url,params=params)#输出返回的JSON数据
print(response.json())

2.POST请求

接口测试中,POST请求经常用于发送数据。假设我们测试一个登录接口,需要在报文body处传递用户名和密码作为请求参数。

ipmort requests#设置请求的URL和参数
url = 'http://127.0.0.1:8787/login'
headers = {'Content-Type':'application/x-www-form-urlencoded'}
data = {'username':'testname','password','testpass'}#发起POST请求
response = requests.post(url,headers=headers,data=data)#查看响应状态码和内容
print(response.status_code) #200,就表示请求成功
print(response.text) #返回服务器响应的文本内容

3.GET和POST请求的区别

在实际的项目中,选择POST还是GET取决于数据传递的需求:
GET请求:获取服务器的资源,安全且幂等,参数通过URL传递。

POST请求:提交或修改服务器的资源,不安全且不幂等,参数通过报文Body传递。

注意:这里的安全不是指的数据传递时是否容易被窃取,而是能否修改服务器资源。

二、数据传递格式

1.表单提交与JSON数据

POST请求的数据传输方式主要有两种:表单数据和JSON数据

表单提交:

data = {'username':'testuser','password':'testpass'}
response = requests.post(url,data=data)

JSON提交:

json_data = {'username':'testuser','password':'testpass'}
response = requests.post(url,json=json_data)

看起来没什么区别,但是不同的接口通常有特定的数据格式要求,测试时需要根据接口文档确定数据的传输格式。

三、会话管理与持久性连接

在一些需要多次请求的场景下,使用会话对象Session可以管理持久性连接,避免重复登录的操作。尤其是设计用户登录、会话保持的场景,Session的使用至关重要。

#创建会话对象
session = requests.Session()#使用会话对象进行登录
login_url = 'http://127.0.0.1:8787/login'
session.post(login_url,data={'username':'testname','password':'testpass'})#登录后保护受保护的资源
protected_url = 'http://127.0.0.1:8787/protected'
response = session.get(protected_url)print(response.text)

四、处理响应结果

在自动化测试中,我们不仅要关心接口的响应状态码,还需要处理接口返回的数据格式。requests支持多种返回格式.

文本类型:

print(response.text)

JSON类型:

print(response.json())

二进制内容:

print(response.content) #获取二进制内容,如图片或文件

注意:如果遇到编码问题,可以通过response.encoding或手动解码方式来处理

五、应对HTTPS证书验证

在测试HTTPS接口时,可能会遇到证书验证的错误,尤其是在开发环境下。可以通过以下方式禁用证书验证。

 response = requests.get(url,verify=False)

六、错误处理与异常捕获

requests提供了强大的异常处理机制,在测试过程中可以捕获网络错误或超时问题

try:response = requests.get(url,timeout=5)response.raise_for_status()
except requests.exceptions.HTTPError as heep_err:print(f'HTTP error occurred:{http_err}')
except requests.exceptions.RequestException as err:print(f'Other error occurred:{err}')

参考文档:Requests: HTTP for Humans™ — Requests 2.32.3 documentation

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

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

相关文章

谷歌推出Gemini实时AI视频功能,开启智能交互新体验

3月24日,谷歌发言人亚历克斯约瑟夫向媒体证实,谷歌已开始向 Gemini Live 推出新的人工智能功能。这些功能使 Gemini 能够“看到”用户的屏幕内容,或通过智能手机摄像头获取画面,并实时回答与之相关的问题。这一创新标志着人工智能…

Windows 新型零日漏洞:远程攻击可窃取 NTLM 凭证,非官方补丁已上线

近日,安全研究人员披露了一个新型 Windows 零日漏洞,影响从Windows 7和Server 2008 R2到最新Windows 11 v24H2及Server 2025的所有Windows操作系统版本。攻击者只需诱使用户在Windows资源管理器中查看恶意文件,即可利用该零日漏洞窃取NTLM&am…

一款超级好用且开源免费的数据可视化工具——Superset

认识Superset 数字经济、数字化转型、大数据等等依旧是如今火热的领域,数据工作有一个重要的环节就是数据可视化。 看得见的数据才更有价值! 现如今依旧有多数企业号称有多少多少数据,然而如果这些数据只是呆在冷冰冰的数据库或文件内则毫无…

作业14 (2023-05-22_const修饰指针)

第1题/共5题【单选题】 C程序常见的错误分类不包含:( ) A.编译错误 B.链接错误 C.栈溢出 D.运行时错误 回答正确 答案解析: 栈溢出是运行时错误的一种,因此C程序不会将栈溢出错误单独列出来,栈溢出包含在运行时错误中。 因此:选择C 第2题/共5题【单选题】 以下关于…

《Tr0ll2 靶机渗透实战:弱口令+SUID+两种缓冲区溢出+ 提权完整+fcrackzip暴力破解+shellshock漏洞+脏牛三种root提权复盘》

Tr0ll2 1、主机发现 arp-scan -l 2、端口扫描 nmap -sS -sV 192.168.66.181 nmap -sS -A -T4 -p- 192.168.66.181 nmap --scriptvuln 192.168.66.181PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.0.8 or later 22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.4 (…

redis常用部署架构之redis分片集群。

redis 3.x版本后开始支持 作用: 1.提升数据读写速度 2..提升可用性 分片集群就是将业务服务器产生的数据储存在不同的机器上。 redis分片集群的架构 如上图所示,会将数据分散存储到不同的服务器上,相比于之前来说,redis要处…

分布式数据库介绍

分布式数据库介绍 一、定义与核心概念 分布式数据库是一种在物理上分散存储、逻辑上统一管理的数据管理系统,其核心特征包括数据分布性、逻辑关联性、场地透明性和可扩展性。根据最新定义,分布式数据库需具备分布式事务处理能力、平滑扩展能力&#xf…

MybatisPlus(SpringBoot版)学习第五讲:条件构造器和常用接口

目录 1.wrapper介绍 2.QueryWrapper 2.1 例1:组转查询条件 Compare Nested Join Func 2.2 例2:组装排序条件 2.3 例3:组装删除条件 2.4 例4:条件的优先级 2.5 例5:组装select子句 2.6 例6:实现子查…

计算机视觉算法实战——手术导航:技术、应用与未来

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 1. 手术导航中的计算机视觉:领域介绍 计算机视觉在手术导航领域的应用代表了现代医学与人工智…

【科研绘图系列】R语言绘制PCA与变量的相关性散点图(scatter plot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据画图输出图片系统信息介绍 【科研绘图系列】R语言绘制PCA与变量的相关性散点图(scatter plot) 加载R包 library(tidyverse) library(ggpubr)数据下载 …

深度解析Spring Boot可执行JAR的构建与启动机制

一、Spring Boot应用打包架构演进 1.1 传统JAR包与Fat JAR对比 传统Java应用的JAR包在依赖管理上存在明显短板,依赖项需要单独配置classpath。Spring Boot创新的Fat JAR(又称Uber JAR)解决方案通过spring-boot-maven-plugin插件实现了"…

安科瑞微电网能量管理控制箱,光伏发电的守护者

安科瑞顾强 随着工业的发展,很多用电设备和工厂设备采用直流系统供电,直流系统的正极和负极不接地。对于不接地(IT)配电系统,应该进行绝缘电阻的监控以保证供电系统的安全运行。 AIM-D100-TS 系列直流绝缘监测仪可以…

[计算机网络]网络I/O模型

欢迎来到啾啾的博客🐱。 这是一个致力于构建完善的Java程序员知识体系的博客📚,记录学习的点滴,分享工作的思考、实用的技巧,偶尔也分享一些杂谈💬。 欢迎评论交流,感谢您的阅读😄。…

Vue中使用JsonView进行JSON数据展示

前言 最近在开发公司的管理系统的操作日志模块,要查看某条操作日志的请求参数,要将请求的参数以 JSON 格式的形式展示出来,于是用到了Vue-JSON-Viewer 这个插件。 一、Vue-JSON-Viewer 基础入门 插件简介 Vue-JSON-Viewer 是一个用于在Vue项…

vue vue3 走马灯Carousel

背景: 在项目中需要展示多张图片,但在页面上只有一张图片的有限位置,此时考虑使用轮播图实现多张图片的展示。element组件官网有走马灯Carousel的组件详细介绍。 实现效果: 官网链接:点击跳转 核心代码: …

重学vue3(三):vue3基本语法及使用

组合式 API是vue3 的核心特性&#xff0c;替代 Vue2 的选项式 API&#xff0c;强调逻辑复用和代码组织。基本语法如下&#xff1a; <script setup> import { ref, reactive, computed, onMounted } from vue;// 1. 响应式数据 const count ref(0); // 基本类…

TDengine 3.3.2.0 集群报错 Post “http://buildkitsandbox:6041/rest/sql“

原因&#xff1a; 初始化时处于内网环境下&#xff0c;Post “http://buildkitsandbox:6041/rest/sql“ 无法访问 修复&#xff1a; vi /etc/hosts将buildkitsandbox映射为本机节点 外网环境下初始化时没有该问题

深度解析 BPaaS:架构、原则与研发模式探索

在当今复杂多变的业务环境下&#xff0c;软件开发面临着诸多挑战&#xff0c;如何有效地管理业务复杂性并实现系统的可扩展性成为关键。BPaaS应运而生&#xff0c;它作为一种创新的理念和架构模式&#xff0c;改变着企业研发的方式。本文将深入探讨 BPaaS 是什么&#xff0c;以…

如何在linux中部署dns服务 主备dns (详细全过程)

环境centos 7.9 主DNS&#xff1a;192.168.60.131 备DNS&#xff1a;192.168.60.134 我以 chenxingyu0.com 指向 192.168.60.200为例 首先是主dns #!/bin/bash# 检查是否为 root 用户 if [ "$(id -u)" ! "0" ]; thenecho "请使用…

操作系统导论——第13章 抽象:地址空间

一、早期系统 从内存来看&#xff0c;早期的机器并没有提供多少抽象给用户。基本上&#xff0c;机器的物理内存如图13.1所示 操作系统曾经是一组函数&#xff08;实际上是一个库&#xff09;&#xff0c;在内存中&#xff08;在本例中&#xff0c;从物理地址0开始&#xff09;&…