Postman之数据提取

Postman之数据提取

      • 1. 提取请求头\request中的数据
      • 2. 提取响应消息\response中的数据
      • 3. 通过正在表达式提取
      • 4. 提取cookies数据

本文主要讲解利用pm对象对数据进行提取操作,虽然postman工具的页面上也提供了一部分的例子,但是实际使用时不是很全面,因此总结记录一下工作中常用到的pm对象相关方法

1. 提取请求头\request中的数据

pm.request:获取请求头的所有消息,包括url、请求头、请求方法、请求体等,返回的是一个对象

在这里插入图片描述
在这里插入图片描述
当看懂了pm.request后,想要获取具体的数据就很简单了不需要去死记,只需要通过节点一层层的去取就行了
如:需要获取port的值,则只需要pm.request.port即可,格式:pm.request.xxx.xxx
示例:

#获取请求头所有数据
value0 = pm.request
#获取端口
value1 = pm.request.url.port
#获取请求协议
value2 = pm.request.url.protocol
#获取请求方法
value3 = pm.request.method
#获取请求体
value4 = JSON.parse(pm.request.body.raw)['out_trade_no']
#在控制台打印
console.log(value0,value1,value2,value3,value4)
#查看数据的类型
console.log(typeof(value4))

注意:需要注意的是获取请求体时,返回的实际是一个字符串;当我们要获取里面的具体某个参数时,要先将字符串转换成JSON格式对象,然后通过key去取对应的值;格式:JSON.parse(需要转换的值)['key']
如:上面演示的:需要转换的值就是:pm.request.body.raw的返回值,key就是:out_trade_no

在这里插入图片描述
在这里插入图片描述

将JSON字符串转解析为对象:
JSON.parse(xxx_vaule)

将对象转换为JSON字符串:
JSON.stringify(xxx_value)

将对象序列化为JSON字符串:
objectname.toJSON()

转换为字符串
objectname.toString()

数据的提取,重点在于数据的类型、格式,合理的运用以上内容格式的转换可以更方便的对数据进行操作、提取

2. 提取响应消息\response中的数据

  1. pm.response

pm.response:返回响应头所有的数据,返回的是一个对象
如图:

在这里插入图片描述
同样的需要取里面的内容时,只需要用返回来的对象,通过节点一层层的去取就行,格式:pm.response.xxx.xxx

如:

//返回响应头所有的数据
value0 = pm.response
//返回响应状态
value1 = pm.response.status
//返回响应码
value2 = pm.response.code
//获取header中key对应的值,注意获取header,需要用pm.response.headers
value3 = pm.response.headers.toJSON()[0]['key']
//控制台打印日志
console.log(value0,value1,value2,value3)

在这里插入图片描述

  1. pm.response.text()
    pm.response.text():以文本的形式返回响应数据
//以文本形式返回响应数据
value0 = pm.response.text()
console.log(value0)
console.log(typeof(value0))

如图:

在这里插入图片描述
4. pm.response.josn()

pm.response.josn():以json对象的形式返回响应数据

//以son对象的形式返回响应数据
value0 = pm.response.josn()
console.log(value0)
console.log(typeof(value0))

如图:

在这里插入图片描述
数据提取演示:

{"code": "40004","msg": "Business Failed","sub_code": "ACQ.TRADE_HAS_SUCCESS","sub_msg": "交易已被支付","trade_no": "2013112011001004330000121536","out_trade_no": "6823789339978248","testArr": [{"id": "1","version": "testV1.0.1","num": "99999"},{"id": "2","version": "testV1.0.2","num": "66666"}]
}
//以son对象的形式返回响应数据
value0 = pm.response.json()
//取code的值
value1 = pm.response.json()['code']
//取testArr的值
value2 = pm.response.json()['testArr']
//取testArr中的第一个version
value3 = pm.response.json()['testArr'][0]['version']
console.log(value0,value1,value2,value3)

结果如图:

在这里插入图片描述

3. 通过正在表达式提取

objectname.match('表达式'):匹配规则对应的内容,注意只能字符串类型的值进行匹配,因此对于非字符串,则需要先转换为字符串才能使用
数据提取演示:

{"code": "40004","msg": "Business Failed","sub_code": "ACQ.TRADE_HAS_SUCCESS","sub_msg": "交易已被支付","trade_no": "2013112011001004330000121536","out_trade_no": "6823789339978248","testArr": [{"id": "1","version": "testV1.0.1","num": "99999"},{"id": "2","version": "testV1.0.2","num": "66666"}]
}
//匹配testArr中第一个version
//匹配testArr中第一个version
value0 = pm.response.text().match('"1","version":"(.*?)","num"')
//匹配header中的Content-Type的值
value1 = JSON.stringify(pm.response.headers).match('Content-Type","value":"(.*?)"}]')
//匹配请求头中的host
value2 = JSON.stringify(pm.request.headers).match('"Host","value":"(.*?)"')
console.log(value0,value0[1],value1,value1[1],value2,value2[1])

在这里插入图片描述

4. 提取cookies数据

#检查指定cookies是否存在
pm.cookies.has("name")
#获取指定名称的cookies
pm.cookise.get("name")
#将cookies以对象的形式返回
pm.cookies.toObject()

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

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

相关文章

【专题】数据库原理与应用之故障恢复

1. 数据库故障恢复概述 数据库的可恢复性: DBMS能把数据库从被破坏、不正确的状态、恢复到最近一个正确的状态。 恢复管理任务的种类: 一是在未发生故障而系统正常运行时,采取一些必要措施为恢复工作打基础。 二是在发生故障后进行恢复处…

EXCEL 或 WPS 列下划线转驼峰

使用场景: 需要将下划线转驼峰,直接在excel或wps中第一行使用公式,然后快速刷整个列格式即可。全列工下划线转为格式,使用效果如下: 操作步骤: 第一步:在需要显示驼峰的一列,复制以…

MODBUS TCP转CANOpen网关

Modbus TCP转CANopen网关 型号:SG-TCP-COE-210 产品用途 本网关可以实现将CANOpen接口设备连接到MODBUS TCP网络中;并且用户不需要了解具体的CANOpen和Modbus TCP 协议即可实现将CANOpen设备挂载到MODBUS TCP接口的 PLC上,并和CANOpen设备…

分布式----Ceph部署

目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储(软件定义的存储 SDS) 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…

自动驾驶系列—面向自动驾驶的模型迭代:工具、平台与最佳实践

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

Spring Boot3自定义starter

1、加入必要依赖 plugins {id javaid org.springframework.boot version 3.2.6id io.spring.dependency-management version 1.1.5 } group org.example.test.starter version 1.1.0jar{enabledtrue// resolveMainClassName }java {toolchain {languageVersion JavaLanguage…

AI开发-计算机视觉库-OpenCV

1 需求 官网:OpenCV - Open Computer Vision Library 2 接口 3 示例 import cv2image cv2.imread("./data/train/1_1.jpg") print(type(image)) 4 参考资料

delphi fmx android 离线人脸识别

搜遍全网都没有找到delphi android 能用的 离线人脸识别,无需注册什么开发者 有这方面需求的可以用fsdk 这边用的luxand.FSDK8.0 android下的注册号要自己找下 1,用老猫的工具将android 下的sdk,FSDK.java 编译成FSDK.jar 老猫的工具 2,用上面的工具将FSDK.jar 生成de…

RabbitMQ教程:工作队列(Work Queues)(二)

RabbitMQ教程:工作队列(Work Queues)(二) 一、引言 在快节奏的软件开发世界中,我们经常面临需要异步处理任务的场景,比如在Web应用中处理耗时的图片处理或数据分析任务。这些任务如果直接在用…

乐维网管平台(七):网络稳定与高效的“安全锦囊”

试想一下,你给电脑升级了一个软件,升级完成后发现有BUG,经常无故卡死,这时候想回退或重新安装旧版本…相对地,一家企业的网络管理员,在对公司的核心交换机进行复杂的配置调整时,一个小小的疏忽&…

时代变迁对传统机器人等方向课程的巨大撕裂

2020年之后,全面转型新质课程规划,传统课程规划全部转为经验。 农耕-代表性生产关系-封建分配制度主要生产力-人力工业-代表性生产关系-资本分配制度工业分为机械时代,电气时代,信息时代;主要生产力-人力转为人脑&…

Spring6 AOP 面向切面编程

1. 概念 面向切面编程:一种编程思想。proxy动态代理(实现了这种思想):在原方法执行时,给原方法的前面或着后面增加其他的方法。增加的方法并不会写在原方法中 原方法就是目标方法,增加的方法就是代理方法 …

计算机组成与原理(2) basic of computer architecture

Instruction Set Architecture (ISA) 和 Hardware System Architecture (HSA) 是计算机体系结构中两个重要的层次,它们各自的职责和作用如下: Instruction Set Architecture (ISA) 定义 ISA是指令集体系结构,是硬件和软件之间的接口。它定义…

window的wsl(Ubuntu)安装kafka步骤

环境:Win11 WSL(Linux子系统Ubuntu) apache-zookeeper-3.9.3-bin kafka_2.12-3.8.1 思路:apache上分别下载zookeeper和kafka,在wsl环境安装。在kafka上创建消息的topic,发送消息,接受消息,验证是否安…

数据结构树和二叉树知识点和递归序列

二叉树知识点 一.树的概念1.1关于树的名词解释 二.二叉树的概念1. 二叉树性质: 三.满二叉树与完全二叉树递归前序遍历递归中序遍历递归后续遍历 一.树的概念 树是一种非线性数据结构,它是由n个或大于n个的结点来组成具有层次关系的一个集合(…

速通前端篇 —— CSS

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:速通前端 目录 CSS的介绍 基本语法规范 CSS选择器 标签选择器 class选择器 id选择器 复合选择器 通配符选择器 CSS常见样式 颜…

使用 Elastic 3 步实现基于 OTel 的原生 K8s 和应用可观测性

作者:来自 Elastic Bahubali Shetti Elastic 的 OpenTelemetry 发行版现已支持 OTel Operator,可使用 EDOT SDK 自动检测应用程序,并管理 EDOT OTel Collector 的部署和生命周期以实现 Kubernetes 可观察性。了解如何通过 3 个简单步骤进行配…

stack、queue、priority_queue、deque的使用和模拟实现

目录 1.容器适配器 2.stack stack的常用接口及使用示例 stack的模拟实现 3.queue queue的常用接口及使用示例 queue的模拟实现 4.priority_queue priority_queue的常用接口及使用示例 priority_queue的模拟实现 5.deque 认识deque deque底层的数据结构 deque和ve…

Linux的cuDNN(cudnn)安装教程(CUDA(cuda\cuda toolkit))

CUDA(cuda\cuda toolkit)安装教程 https://blog.csdn.net/huiyayaya/article/details/143863835?spm1001.2014.3001.5502官网下载cudnn https://developer.nvidia.com/rdp/cudnn-archive这个下载到自己的电脑 下载到本地就好 复制到服务器 切换到cudnn文件所在目…

Kafka中ACKS LSO LEO LW HW AR ISR OSR解析

名称解释 ACKS(Acknowledgments)确认、回执 LW(Low watermark)低水位、LSO(Log start offset)起始偏移量 HW(High watermark)高水位 LEO(Log end offset)…