python接口自动化正则表达式

在python接口自动化框架里面经常会用到正则表达式,主要是以下两种情况:

1,用python写一个正则表达式,实现对token数据的获取,只获取返回的cookie数据里面的accesstoken。如果对返回的cookie数据中的accesstoken进行获取,可以使用Python的正则表达式来匹配并提取数据。下面是具体代码实现:

import re# 假设返回的cookie数据是'accesstoken=12345; sessionid=abcde; other=xyz;'
cookie_data = "accesstoken=12345; sessionid=abcde; other=xyz;"access_token = re.search(r'accesstoken=([^;]+)', cookie_data)
if access_token:access_token = access_token.group(1)print(access_token)

正则表达式accesstoken=([^;]+)用于匹配以"accesstoken="开始的字符串,然后使用([^;]+)提取非分号的字符序列作为accesstoken的值。

在上述示例中,假设返回的cookie数据是'accesstoken=12345; sessionid=abcde; other=xyz;'。通过正则表达式匹配,可以得到accesstoken的值为12345。可以根据实际情况修改cookie_data的值,并根据需要调整正则表达式的模式来匹配其他格式的cookie数据。

2,当从接口返回值里面获取:状态码,响应结果,内容长度,还有报错信息的时候,也可以用python的正则表达式来实现,具体代码如下:

import reresponse = "HTTP/1.1 200 OK\nContent-Type: application/json\nContent-Length: 1234\n\n{\"status\": \"success\", \"message\": \"Hello World!\"}"
# 假设response是接口返回的字符串,包含状态码、响应结果、内容长度和报错信息# 提取状态码
status_code = re.search(r'HTTP\/\d\.\d (\d+)', response)
if status_code:status_code = status_code.group(1)# 提取响应结果
response_result = re.search(r'\n\n(.+)', response)
if response_result:response_result = response_result.group(1)# 提取内容长度
content_length = re.search(r'Content-Length: (\d+)', response)
if content_length:content_length = content_length.group(1)# 提取报错信息
error_message = re.search(r'Error: (.+)', response)
if error_message:error_message = error_message.group(1)print("Status Code:", status_code)
print("Response Result:", response_result)
print("Content Length:", content_length)
print("Error Message:", error_message)

在上述示例中,如果返回的response是一个字符串,类似于HTTP响应的格式,包含了状态码、响应结果、内容长度和报错信息。使用适当的正则表达式来匹配和提取这些信息。

可以根据实际的返回值格式和需求修改 response 变量,并相应地调整正则表达式模式来匹配和提取所需的信息。

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

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

相关文章

学完Python的7大就业方向,哪个赚钱最多?

“ 我想学Python,但是学完Python后都能干啥 ?” “ 现在学Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少Python的初学者,都会遇到上面的这些问题。大家都知道Python很吃香,薪资…

DNS劫持怎么预防?

DNS劫持,也称为域名劫持,是一种网络攻击手段,攻击者通过拦截域名解析的请求,将用户重定向到恶意站点,以达到获取用户信息或谋取非法利益的目的。DNS劫持可以分为以下几种基本类型: 1.路由器DNS劫持&#x…

进程管理与计划任务管理

进程管理 1、查看进程 静态 ps -auxps -elf 动态 top pgrep 查看特定条件的进程 pgrep -l “log” pgrep -l "ssh"pgrep -l -U redhat pstree 查看进程树 pstree -aup 所有用户、进程id\详细信息pstree -ap redhat 查看redhat用户的进程 任务调…

如何实现在固定位置的鼠标连点

鼠大侠的鼠标连点功能是免费的 浏览器搜索下载鼠大侠,指定连点间隔和启动快捷键 点击设置,指定点击位置

MySQL数据库中的锁机制(通俗易懂)

总结 MySQL数据库中的锁机制主要用于管理并发操作,以确保数据的一致性和完整性。MySQL支持多种类型的锁,按粒度和使用场景主要分为以下几类: 全局锁: 全局锁(如FLUSH TABLES WITH READ LOCK)可以锁定整个数…

常见物联网模型优缺点简介

物联网模型多种多样,每种模型都有其独特的优点和局限性。以下是一些常见的物联网模型及其优缺点概述: 集中式模型: 优点: 数据管理和处理集中化,便于统一监控和维护。安全性较高,数据在中心节点进行统一加…

centos7 配置ip

查看网卡 [rootcentos ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverine…

Linux 常用操作命令大全

目录 一、命令大集合 1.1 whereis 1.2 which 1.3 sudo 1.4 grep 1.5 free 1.6 top 动态显示进程的状态 1.7 ps 静态显示进程信息 1.8 df 1.9 iostat 看IO性能状态 1.10 yum安装插件命令 1.11 rpm 1.12 scp远程拷贝 1.13 uname 二、linux网络命令 2.1 centos7 防火…

SpringCloudAlibaba Nacos配置及应用

Nacos搭建及配置 nacos本机服务搭建 windows上搭建单机nacos&#xff1a; Releases alibaba/nacos GitHub 下载安装包 下载本地&#xff0c;解压&#xff0c;直接运行&#xff08;保证安装包的绝度路径只有英文字符&#xff0c;有中文会导致运行失败&#xff09;&#xff…

开发语言详解(python、java、Go(Golong)。。。。)

是语言决定行业&#xff0c;还是行业决定语言&#xff0c;说不清&#xff0c;只是觉得&#xff0c;当你做这一行的时候&#xff0c;如果你还有精力感兴趣的话&#xff0c;可以再做些了解&#xff0c;一下是自己个人见解以及官网做的整合。希望对大家有用。 目录 Python 概念&…

Milvus数据实体的插入、修改、删除

本节介绍如何通过客户端向 Milvus 中插入数据。您还可以使用 MilvusDM 将数据迁移到 Milvus&#xff0c;MilvusDM 是一款专门用于使用 Milvus 导入和导出数据的开源工具。   Milvus 2.1 支持标量字段上的 VARCHAR 数据类型。为VARCHAR类型标量字段构建索引时&#xff0c;默认…

MySQL 多表查询与事务的操作

一,多表联查 有些数据我们已经拆分成多个表,他们之间通过外键进行连接.当我们要查询两个表的数据,各取其中的一列或者多列. 这时候就需要使用多表联查. 数据准备: # 创建部门表 create table dept(id int primary key auto_increment,name varchar(20) ) insert into dept (n…

DevEco Studio 项目创建

安装DevEco Studio后开始使用&#xff0c;双击桌面DevEco Studio 快捷方式弹出界面&#xff1a; 选择Application —> Empty Ability&#xff0c;点击Next 项目配置 Project name&#xff1a;工程的名称&#xff0c;可以自定义&#xff0c;由大小写字母、数字和下划线组成。…

vscode搜索总是搜到修改记录文件如何处理

如图每次搜索出来的结果总是有好多编辑记录中的文件&#xff0c;给自己找文件及提交代码时带来很大困扰&#xff0c;每次都得删特别麻烦。 解决办法&#xff1a; 如上图在插件里找到 local history 点击 ”禁用“ 即可。以后再编辑代码就不会产生修改记录文件了。 如果直接搜索…

深入浅出前端本地储存

引言 2021 年&#xff0c;如果你的前端应用&#xff0c;需要在浏览器上保存数据&#xff0c;有三个主流方案&#xff1a; CookieWeb Storage (LocalStorage)IndexedDB 这些方案就是如今应用最广、浏览器兼容性最高的三种前端储存方案 今天这篇文章就聊一聊这三种方案的历史…

前端Prettier 插件的使用配置(详细)

各个参数代表的意思:printWidth&#xff1a;每行代码的最大长度限制。 tabWidth&#xff1a;选项用于控制制表符的宽度。 useTabs&#xff1a;指定是否使用制表符代替空格。 semi&#xff1a;指定是否在语句的末尾添加分号。 singleQuote&#xff1a;指定是否使用单引号或双引号…

【Java程序员福音】每个 Java 开发人员都应该知道的 10 个基本工具

我试图在代码库,项目规划,构建和部署,测试自动化和基础设施自动化中包含工具。作为负责端到端管理项目的高级 Java 开发人员,这些工具将帮助您更有效地完成工作。 让我们看到 Java 程序员的一些基本工具 1、Git 我认为 Git 和 Github 应该是所有 Java 程序员应该学习和掌…

如何使用vue插件Konva实现图片的缩放

前提问题&#xff1a;要完成数据标注的第一步&#xff0c;使用vue插件Konva实现图片的缩放 解决过程&#xff1a;首先安装插件Konva&#xff0c;再进行初始化&#xff0c;嵌入图片&#xff0c;Konva官网地址 解决结果&#xff1a; 1.安装Konva npm install vue-konva konva …

②免费AI软件开发工具测评:通义灵码 VS 码上飞

前言 我又双叒叕来测评了&#xff01;上次给大家带来的是iFlyCode和CodeFlying两款产品的测评&#xff0c;受到了大家的一致好评~ 今天咱就继续来聊聊&#xff0c;这次我们选的的对象是通义灵码和码上飞&#xff0c;从名字上也能看到出来这两款产品一定是跟软件开发有关系的&…