postman使用指北

ops/2024/10/21 7:48:43/

粘贴 cURL 请求

1724381954004_1h4gs23llx

环境设置

作用:方便切换不同环境,比如配置本地环境/测试环境/线上环境,通过切换环境就可以请求对应环境的接口

  • 配置环境

1724382099854_p4knk4pld8

  • 切换环境请求

1724382191899_srz1hh2woj

Pre-request Script

可以在发送请求之前执行一些脚本操作

1. 常用指令

// 获取请求方法
pm.request.method// 设置 header
pm.request.headers.add({key: 'key',value: 'value'
});// 设置 cookie
pm.request.headers.add({key: 'Cookie',value: "cookie_value"
});

2. 请求鉴权

后端为了服务接口不被恶意攻击,一般会有鉴权的校验,比如在 header 头中加入 tsnonce 等,就可以在 postman 中通过 pre-request script 统一封装起来进行调用

示例代码

function randomString(e) {    e = e || 32;var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",a = t.length,n = "";for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a));return n
}function getParam(body) {var keys = [];for (let k in body) {let value = body[k];if (Array.isArray(value)) {value = JSON.stringify(value);}keys.push(k + "=" + value);}keys.sort();let keys_str = keys.join("&");return keys_str;
}var app = "app"
var secret = "key"
var ts = Math.round (new Date().getTime()/1000)
var nonce = randomString(16)
var param = ""
if (pm.request.method === "POST") {param = getParam(JSON.parse(request.data))
}pm.request.headers.add({key: 'app',value: app
});
pm.request.headers.add({key: 'ts',value: ts
});
pm.request.headers.add({key: 'nonce',value: nonce
});
console.log(app+secret+ts+param+nonce)
pm.request.headers.add({key: 'sign',value: CryptoJS.MD5(app+secret+ts+param+nonce).toString()
});

3. 在 json 请求体中写注释

postman 没有很好的写接口注释的地方,对于 post 请求无法直接在参数后面写注释(不符合 json 规范),通过脚本的方式达到既写注释又可以发送请求的目的

// 需要在Pre-request Script中这样写,去除掉注释
if (pm?.request?.body?.options?.raw?.language === 'json') {const rawData = pm.request.body.toString();const strippedData = rawData.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,(m, g) => g ? "" : m);pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));
}

1724382856856_jtnmtuhgyq

Get 请求 Encode

在发送 get 请求时,可以右键参数 encode 请求,方便发送

1724382983052_773f7f7a17

参考链接

Postman 高级用法


http://www.ppmy.cn/ops/101018.html

相关文章

centos安装docker、docker-compose

centos安装docker、docker-compose 注意&#xff1a; 使用非root用户安装且用户有sudo权限 卸载旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine …

数据导出为Excel接口报错:java.io.IOException: UT010029: Stream is closed

在Spring框架中&#xff0c;开发过程中经常需要实现数据的导出功能&#xff0c;尤其是将数据导出为Excel文件。然而&#xff0c;在实现这样的功能时&#xff0c;可能会遇到一些意料之外的错误&#xff0c;比如java.io.IOException: UT010029: Stream is closed。本文将基于一个…

性能测试笔记

大多数用户期望网站加载时间3秒内 前端常见的性能优化点 1.静态资源增加缓存 2.静态资源使用CDN和独立域名 3.js压缩&#xff0c;并去掉存在的重复请求 4.js位置后移 5.css依赖减少&#xff0c;同时指定&#xff1b; 6.减少Banner图片个数&#xff0c;同时减小大小&…

整流电路和电源滤波方法

1. 简介 什么是整流电路&#xff1f; 整流电路是一种将交流电&#xff08;AC&#xff09;转换为直流电&#xff08;DC&#xff09;的电路&#xff0c;在电源设计、电子设备中广泛应用。本文将深入探讨整流电路的基本原理、常见类型及其在不同领域中的应用。 为什么整流电路重要…

C#面:ASP.NET MVC 中如何用表单认证?

在 ASP.NET MVC 中&#xff0c;可以使用表单认证来验证用户的身份。 表单认证是一种基于 Cookie 的认证方式&#xff0c;它通过在用户登录成功后生成一个包含用户身份信息的加密 Cookie&#xff0c;并将该 Cookie 发送给客户端保存。 当用户发送请求时&#xff0c;服务器会验…

笔记整理—uboot启动过程(7)malloc初始化与内存环境变量

上一章说到了env环境变量并对前两章有关init_sequence部分做了总结&#xff0c;这一章将要对uboot部分的malloc初始化以及内存环境变量进行相关的说明。 mem_malloc_init是用于初始化uboot堆管理器的。自己维护了一段内存&#xff0c;就可用进行malloc和free的操作了。那么这个…

BP神经网络学习内容分享:多层感知机与神经网络

一、多层感知机 多层感知机&#xff08;MLP, Multilayer Perceptron&#xff09;是一种经典的人工神经网络模型&#xff0c;由多个神经元层组成&#xff0c;广泛应用于各种机器学习任务中。以下将介绍MLP的基本原理、结构与训练方法。 1.多层感知机的基本原理 多层感知机&…

QStackedWidget使用整理

需求1做一个主窗口中有一个视频区域&#xff0c;平时放视频&#xff0c;特定条件下显示图片 stackWidget new QStackedWidget((QWidget *)parent_); QWidget *w1,*w2; w1 new QWidget(); w1->setObjectName("video"); …