postman的使用

        Postman是Restful API的测试工具。简单来讲是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大、使用简单。通常无论是开发人员进行接口调试,还是测试人员做接口测试,postman通常都是首选工具。

注:作为开发人员对于这么一款工具还是要掌握的。

一、postman的安装

        postman在2018年之后就不在支持浏览器版本了,所以想要使用必须下载客户端并安装使用。下面以mac为例进行安装。

1、访问官网进行下载

Download Postman | Get Started for Free

根据mac芯片选择对应的安装包进行下载。注:可见postman的更新还是很给力的,已经支持苹果自研芯片的mac了。

下载后得到的是一个zip包,解压后安装即可。 

2、注册

根据提示进行注册,或者chrome有google账户的话直接登陆也是可以的。

然后就可以打开客户端了。

3、界面介绍

注:其对应的功能比较多,以后用到了再慢慢完善。

二、postman使用

1、进入工作页面

Workspaces→My Workspace 进入工作页面。

 然后进入如下页面。按提示创建集合用以保存每个测试任务。

2、创建测试任务

如下图点击“+”增加tab页即新建 请求接口。

3、创建一个get请求

将如下url分别帖进去,然后点击Send按钮,效果如下。

http://c2cpicdw.qpic.cn/offpic_new/0/2852406608-274353464-C8FB78AD86BAC47595AA79E1C777FBAB/0
http://c2cpicdw.qpic.cn/offpic_new/0/2852406608-274353464-C8FB78AD86BAC47595AA79E1C777FBAB/198

 注:在图示的诸如Headers等tab页中我们可以看到很多信息。

之后我们还可以将这个请求以保存下来。这样在右侧我们创建的集合里面就有了这个请求,以后如果我们想用的话就可以直接用了。

4、创建一个put请求

测试场景说明:模拟测试给腾讯云cos(对象存储)上传文件。在上传之前首先我们先得到一个类似于如下的预签名url,然后利用postman上传文件。

#预签名url如下
http://qidian-track-picfile-oa-1251316161.cos.ap-guangzhou.myqcloud.com/pic/big/3007442204/3007442204-3123815639-B7B3E03900CB5CAC0DE8ABA8EAFC3426?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDtZfusZGRUGla8VFNs65nb9SVP3QwCLEr%26q-sign-time%3D1668080576%3B1668084176%26q-key-time%3D1668080576%3B1668084176%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D6a16a589dcbc5f204c33317a9f2de38dddaf2eb1#对应的cosid为 
pic/big/3007442204/3007442204-3123815639-B7B3E03900CB5CAC0DE8ABA8EAFC3426

如下图所示:选择put方法→粘贴预签名url→切换body处→选择binary→Select File选择想要上传的文件→点击send。

 效果如下。绿色 200 应该就是成功了。

验证:云cos中直接搜对应的cosid,可以看到如下数据。

 预览效果如下,显然就是上传上去的文件。

注:经过测试只要不过期这个预签名url是可以反复使用的。具体来说我们可以选择不同的文件反复上传覆盖之,覆盖后在云cos对应的桶中也都是可以看到覆盖效果的。

5、携带payload参数

在Postman中,携带payload参数通常是指发送POST请求时携带JSON格式的数据。你可以在Postman的Body标签下选择raw类型,并且设置Type为JSON(application/json),然后在输入框中输入你的JSON数据。

然后 Body → raw → 粘贴即可

6、模拟带鉴权的HTTP请求

测试场景说明:模拟某saas软件拉取客户轨迹的请求。因为该saas软件带有登录态校验,更贴近实际场景。

选中该请求→右键→copy→copy as cURL 如下。

测试一:postman中创建get方法,不编辑Headers。

如下,显示登陆超时。因为没带cookie,所以会这样;符合预期。

 测试二:Headers中添加上述截图赋值下来的cookie。

如下,能够拿到符合预期的数据。

测试三:不用这么复杂。复制cURL贴到方框然后自动识别Header/Body(万能)!

如下为修改会话主题的请求。选中请求→右键→Copy→Copy as cURL → 整体贴到方框即可。

注:这个赋值下来的就是一个curl语句,而且这个curl语句也是可以直接执行的。

curl 'https://testgateway.qidian.qq.com/v1/interface/inner/cloudcc_310104' \
  -H 'authority: testgateway.qidian.qq.com' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'accept-language: zh-CN,zh;q=0.9' \
  -H 'content-type: application/json' \
  -H 'cookie: login_url=https%3A%2F%2Foaconsole.qidian.qq.com%2Flogin%2F%3Fshow_type%3Dqa%26source%3Dworkbench; d2=BFNl8CqKj57OLqWHn0UE5ZQz3NgBSgTXshFue8upIgPAfQHJzeBXLVLKnDMbN53rjh0+BJYnrwRL6ior85vCf3QeN0m+qUswZWw/dmhzWpNClm6DV+XsWQq0YLXQss2PNxPyOiI8l7X+tAEom+PNi5BY+ZxONxMWhfVB32r6J7kYVJBeOMQWFGbRV/1Iekb1chcALFo83anjTA5g5/+6VMMem6Q+FD1FzOTwmbOvvalOvJ3ThjuDdg==; corp_uin=2854099014; aid=3007451243; aid_skey=z8RG5vixnVKfMiUX59d1+6GnXuxaeLy0/iOqMsiBjx6nJQHO5JWQa+9YkUgyLkMIvAJSOO/zc/Y9a5xIH0RyuIOKm6eaGt1uyC+YOpxkwBAT937wVhGkBkrl+aKVHxHaUeX1yRofvQLz9HM2Zy5iu3o+IgxraCsU3Ey0VuhjZDY=; login_type=workbench; source=workbench; logout_type=workbench; qd_admin_is_web=yes; qd_aid_encode=ae8194bc420a24ab91446807092632f4; qdui_loginaccount=houl@2854099014.qidian; _qddaz=QD.607891479466649; _bqqcsrf=b9aaeecaf1602ed0b7c1196c8ac8d5d111113b40; _bqq_csrf=b9aaeecaf1602ed0b7c1196c8ac8d5d111113b40; XSRF-TOKEN=b9aaeecaf1602ed0b7c1196c8ac8d5d111113b40' \
  -H 'origin: https://oaadmin.qidian.qq.com' \
  -H 'referer: https://oaadmin.qidian.qq.com/' \
  -H 'sec-ch-ua: "Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-site' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' \
  -H 'x-gseq: 1691480410964' \
  -H 'x-requested-with: XMLHttpRequest' \
  -H 'x-xsrf-token: b9aaeecaf1602ed0b7c1196c8ac8d5d111113b40' \
  --data-raw '{"str_session_id":"commonsession_webim_2854099014_677291409754678_1691409756157","label_data":{"rpt_label_item":[],"bool_is_solved":false,"str_summary":"shuozhuo12345678"},"session_head":{"uint32_channel_type":4,"uint64_kfuin":2854099014,"uint64_kfextuin":3007451243,"str_visitid":"677291409754678"},"_bqq_csrf":"b9aaeecaf1602ed0b7c1196c8ac8d5d111113b40","_t":"1691480410964"}' \
  --compressed

三、postman其他操作

1、postman测http接口

params 传参 和 body 传参还是有有一些区别的。 

params传参一般用于get请求,params传参时参会附与url后面以问号的形式展出。

body传参一般用于post请求,body传参时需要在body里面写json数组,参数不会显示在地址栏。

postman中params传参与body传参区别(重要) - 技术颜良 - 博客园

(1)params传参

http://11.177.119.29:8080/privilegeService/GetDataPrivileges然后追加如下三个params参数,选择GET请求是通的。

(2)body传参

http://11.177.119.29:8080/privilegeService/GetDataPrivileges?Content-Type=application/json{"kfuin":2852199205,"kfext":3007456840,"bo_id":23
}

2、postman上传数据至云cos

 0、对于腾讯云在控制台可以看到如下实用工具

请求工具:可以发送实际请求操作cos。

签名工具:顾名思义就是计算签名了。 

这里想创建一个bucketname为 zs-test1-1251316161 的bucket。

(1)首先计算签名

如下通过工具即得到签名。

 (2)赋值改签名使用postman发送出去即可创建新桶。

发送后立刻收到云梯的提醒了,这就说明确实生效了。

3、postman测websocket接口

(0)首先postman版本不要太低

我的这个版本就是ok的

(1)添加一个websocket请求,如下

(3)模拟数据交互

在地址栏中输入相应的websocket请求地址,点击右侧的"Connect"按钮,即建立连接。

#websocket请求地址如下(socket.io服务器地址):
ws://localhost:3000/socket.io/?EIO=4&transport=websocket#我们当前的请求地址为
wss://testwss.yingxiao.ali.com/sio/?kfuin=2852199285&EIO=3&transport=websocket

注:关于上述 ws连接、发送的消息等我们都可以通过调试工具抓包获取到。

a)如下是某应用的ws地址

b)如下是我们抓取的ws发送的具体数据

注:必须要包括前面的42,都是有含义的。(具体应该是个魔数,用于确保接受的帧是有效的websocket帧)。 

42["message",{"appid":3,"xxxxxx":2852199285,"xxx":485933471712787,"seqid":17334717137346184,"d2":"R+gSVNQom0hGHr23ByqtBLEZFgtvyXzIIblrGPpnlOIEdhPzY3LZJHAMsCODLwvcFpRBDkdc0AlcS04k0fU3i+acMf5iCoPsbxruLPBhwKC/KG9a1MO6O8YfLCcAvd+dK0ctdQTQ4hlIaf+VFqK6wTPnO9VFGP46L6IMYsqIy7LdEuKbxoyzfc/wt42Sco8phrROv7rkRdQ+HihGpz6uMQ0TR2ElvKqshgtezs1FgWy0Tnv/n/1WyRIjP22tHeiyyiqjyHcn/I3lSLgSu8cdN2uw6QnzWAjlX2fIaQf4GEcnwDoWu27wM/4EoaQ5FWu7+VzGfrBtd7M=","head":{"uint32_head_type":2,"c2s_head":{"uint32_sub_msgtype":1297,"xxxx":324012,"uint32_token_type":4,"byte_token_a1":"","uint32_timestamp":1733471713733,"str_sub_business_name":"","platform":{"uint32_sdk_version":20240626,"uint8_client_type":5}}},"extra":{},"body":{"msg_login_req":{"bytes_user_uuid":"7db1bd41-fa32-4804-ad39-6dd3b282dd3f","uint32_sdk_version":20240626,"uint32_client_type":5,"str_userdefine":""}}}]	

(4)其他功能。

总的来说支持的功能还是很多的。例如:

a)支持多种数据格式,如:Text、JSON、XML、HTML、Binary等;

b)支持对交互信息进行格式化显示,如:Text、JSON、XML、HTML等;

c)支持对交互数据进行模糊搜索、筛选过滤、清空等操作;

d)交互数据按照时间倒序限制,更便于查看最新数据等。

a)支持多种数据格式。

b)支持对交互信息进行格式化显示

c)支持对交互数据进行模糊搜索、筛选过滤、清空等操作

四、postman其他事项

4.1、postman配置代理

背景:我需要对腾讯云上的产品测试环境进行验证。但是腾讯云访问测试环境是通过地域 + 代理实现的。具体来说在浏览器上我们是通过 配置了 whilstle 借助 google浏览器的 SwitchyOmega 插件代理到 127.0.0.1:8899 。对于postman,我们如果想让请求也发送到从测试环境同样也要配置将请求发送至 127.0.0.1:8899 去。

具体配置方法如下:

(1)右上角齿轮 → Settings → 

(2)Proxy → 用户自定义代理配置。

(3)验证效果。

抓取浏览器中的一个请求 → 右键 → copy as cCurl → 粘贴至 postman的http请求处 并 发送。

如下图所示就为访问成功:

如果我们把自定义代理开关关掉,在发送同样的请求。

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

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

相关文章

模块化架构与微服务架构,哪种更适合桌面软件开发?

前言 在现代软件开发中,架构设计扮演着至关重要的角色。两种常见的架构设计方法是模块化架构与微服务架构。它们各自有独特的优势和适用场景,尤其在C#桌面软件开发领域,模块化架构往往更加具有实践性。本文将对这两种架构进行对比&#xff0…

工程上LabVIEW常用的控制算法有哪些

在工程应用中,LabVIEW常用的控制算法有很多,它们广泛应用于自动化、过程控制、机器人、测试测量等领域。以下是一些常见的控制算法: 1. PID 控制 用途:PID(比例-积分-微分)控制是最常用的反馈控制算法&…

nuxt3项目打包部署到服务器后配置端口号和开启https

nuxt3打包后的项目部署相对于一般vite打包的静态文件部署要稍微麻烦一些,还有一个主要的问题是开发环境配置的.env环境变量在打包后部署时获取不到,具体的解决方案可以参考我之前文章 nuxt3项目打包后获取.env设置的环境变量无效的解决办法。 这里使用的…

ui文件转py程序的工具

源博客连接: PyCharm中利用外部工具uic转成的py文件,里面全是C代码,并非python类型的代码,导致大量报错。。。_pyside6-uic为什么把ui转为了c-CSDN博客 如果想把ui文件转为py文件,首先设置pycharm的外部工具&#xf…

c++学习第七天

创作过程中难免有不足&#xff0c;若您发现本文内容有误&#xff0c;恳请不吝赐教。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考。 一、const成员函数 //Date.h#pragma once#include<iostream> using namespace std;class Date { public:Date…

【C++】在线五子棋对战项目网页版

目录 1.Websocket 1.1.Websocket的简单认识 1.2.什么是轮询呢&#xff1f; 1.3.websocket协议切换过程 1.4.websocketpp库常用接口认识 1.5.websocketpp库搭建服务器流程 1.6.websocketpp库搭建服务器 2.mysqlclient库-接口认识 3.项目模块的划分&#xff1a; 4.项目…

Qt中的connect函数

1. 介绍 connect函数是Qobject类提供的静态成员函数&#xff0c;这个Qobject类是Qt中所有类的祖宗类&#xff0c;这个机制类似于JAVE中同样也是有一个Object祖宗类&#xff0c;QWidget类属于Qobject类的子类&#xff0c;所以包括QPushButton这些控件等等&#xff0c;都可以使用…

UE5 开启“Python Remote Execution“

demo 代码 remote_execution.py 远程调用UE5 python代码-CSDN博客 在启用 Unreal Engine 5&#xff08;UE5&#xff09;的“Python 远程执行”功能后&#xff0c;UE5 会启动一个 UDP 组播套接字服务&#xff0c;以监听来自外部应用程序的 Python 命令。 具体行为如下&#xf…

LabVIEW太赫兹二维扫描成像系统

使用LabVIEW设计太赫兹二维扫描成像系统。通过LabVIEW平台开发&#xff0c;结合硬件如太赫兹源、平移台、锁相放大器等&#xff0c;实现了高效、精准的成像功能。系统采用蛇形扫描方式&#xff0c;通过动态调整扫描参数&#xff0c;达到优化成像质量的目的。 ​ 项目背景 在非…

【wiki知识库】08.添加用户登录功能--后端SpringBoot部分

目录 一、今日目标? 二、SpringBoot后端实现 2.1 新增UserLoginParam 2.2 修改UserController 2.3 UserServiceImpl代码 2.4 创建用户上下文工具类 2.5?通过token校验用户&#xff08;重要&#xff09; 2.6 创建WebMvcConfig 2.7 用户权限校验拦截器 一、今日目标 上…

以 RFID 为钥,开启民兵装备管理的科技之门

民兵配备的武器及装备涵盖了各式武器、弹药及军事技术设备&#xff0c;其管理的优良直接决定了民兵的作战效能。鉴于民兵装备普遍面临老化、维护支援不充分等问题&#xff0c;迫切需要迅速建立完善的民兵装备管理新体系。这一转变将推动民兵装备由数量扩张转向质量提升&#xf…

2025-1-21 Newstar CTF web week1 wp

文章目录 week1headach3会赢吗智械危机 week1 headach3 根据提示&#xff0c;在页面的请求头里找到flag flag{You_Ar3_R3Ally_A_9ooD_d0ctor} 会赢吗 打开控制台&#xff0c;拿到第一部分flag 将地址栏改为提示&#xff0c;去到下一关 控制台调用函数&#xff0c;得到flag …

C语言程序设计十大排序—选择排序

文章目录 1.概念✅2.选择排序&#x1f388;3.代码实现✅3.1 直接写✨3.2 函数✨ 4.总结✅5.十大排序 1.概念✅ 排序是数据处理的基本操作之一&#xff0c;每次算法竞赛都很多题目用到排序。排序算法是计算机科学中基础且常用的算法&#xff0c;排序后的数据更易于处理和查找。在…

(三)线性代数之二阶和三阶行列式详解

在前端开发中&#xff0c;尤其是在WebGL、图形渲染、或是与地图、模型计算相关的应用场景里&#xff0c;行列式的概念常常在计算变换矩阵、进行坐标变换或进行图形学算法时被使用。理解二阶和三阶行列式对于理解矩阵运算、旋转、平移等操作至关重要。下面&#xff0c;我将结合具…

通过docker overlay2目录名查找容器名和容器ID

参考&#xff1a;https://blog.csdn.net/beck_li/article/details/142059298 有时候经常会有个别容器占用磁盘空间特别大&#xff0c;这个时候就需要通过docker overlay2 日录名查找对应容器名. 1.首先进入到 /var/lib/docker/overlay2 目录下 #cd /var/lib/docker/overlay2 …

2025年入职/转行网络安全,该如何规划?网络安全职业规划

网络安全是一个日益增长的行业&#xff0c;对于打算进入或转行进入该领域的人来说&#xff0c;制定一个清晰且系统的职业规划非常重要。2025年&#xff0c;网络安全领域将继续发展并面临新的挑战&#xff0c;包括不断变化的技术、法规要求以及日益复杂的威胁环境。以下是一个关…

Vue平台开发三——项目管理页面

前言 对于多个项目的使用&#xff0c;可能需要进行项目切换管理&#xff0c;所以这里创建一个项目管理页面&#xff0c;登录成功后跳转这个页面&#xff0c;进行选择项目&#xff0c;再进入Home页面展示对应项目的内容。 一、实现效果图预览 二、页面内容 功能1、项目列表展…

深入解析人工智能中的协同过滤算法及其在推荐系统中的应用与优化

目录 什么是协同过滤算法核心原理基本步骤相似度计算代码实现详解1.流程图2.创建基础的数据结构存储用户评分数据3.计算用户相似度4.获取相似用户5.推荐方法 算法优化建议1. 数据预处理优化去除异常值和噪声数据进行数据标准化使用稀疏矩阵优化存储 2. 相似度计算优化使用局部敏…

【数据挖掘实战】 房价预测

本次对kaggle中的入门级数据集&#xff0c;房价回归数据集进行数据挖掘&#xff0c;预测房屋价格。 本人主页&#xff1a;机器学习司猫白 机器学习专栏&#xff1a;机器学习实战 PyTorch入门专栏&#xff1a;PyTorch入门 深度学习实战&#xff1a;深度学习 ok&#xff0c;话不多…

HTML 表单和输入标签详解

HTML 表单是网页与用户交互的重要工具&#xff0c;它允许用户输入数据并将其提交到服务器。表单在网页中的应用非常广泛&#xff0c;例如登录、注册、搜索、评论等功能都离不开表单。本文将详细介绍 HTML 表单及其相关标签的使用方法&#xff0c;帮助你全面掌握表单的设计与实现…