postman接口测试工具详解【全】零基础入门到精通,收藏这篇就够了

接口测试工具——Postman使用详解 Postman是一款简单方便的接口调试工具,便于分享和协作。具有接口调试、请求集管理、环境配置、参数化、断言、批量执行、请求录制、Mock Server,、接口文档、接口监控等功能。!!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。 阅读详情
AI摘要

本文详细介绍了Postman接口测试工具的使用方法,涵盖从环境搭建、请求发送、接口关联、断言验证到批量执行与参数化的全流程。同时涉及Mock测试、Cookie鉴权、加解密处理及Newman持续集成等高级功能,适用于零基础入门至精通的学习路径。

目录

一、postman简介

1、postman介绍

2、postman特点

3、postman下载与安装

(1)下载

(2)安装

4、postman注册登录

5、postman卸载

二、postman工具初识

1、界面导航说明

2、发送第一个请求

(1)创建一个工程目录

(2)创建collection集合

(3)创建一个接口请求

(4)拼装一个接口请求参数

(5)发送请求

三、接口测试流程

1、接口测试分类

(1)测试外部接口

(2)测试内部接口

2、接口测试重点

3、接口测试流程

四、执行接口测试

1、postman元素含义

(1)请求

(2)响应

(3)调试

2、实例演示

(1)获取鉴权码access token接口

(2)获取公众号已创建的标签接口

(3)创建标签接口

(4)文件上传接口

(5)删除标签接口

(6)编辑标签接口

五、接口关联

1、JSON提取器

(1)取值并设置全局变量

(2)使用全局变量

2、正则表达式提取器

六、环境变量和全局变量

1、环境变量

(1)设置环境变量

(2)修改请求ip地址

(3)切换环境进行测试

2、全局变量

七、动态参数

1、系统自带的动态参数

2、自定义动态参数

八、Postman业务闭环用例

1、实例介绍

2、效果图展示

(1)获取鉴权码

(2)新建标签

(3)编辑标签

(4)查询标签

(5)删除标签

九、断言

1、断言定义

2、常见断言

3、八种断言写法

4、常用断言应用

(1)Status code:Code is 200

(2)Response body:Contains string

5、断言随机数

十、postman批量运行测试用例

十一、postman的参数化(CSV、JSON)

1、适用场景

2、接口信息

3、接口用例设计

4、数据驱动实现(参数化)

(1)data.csv文件设置

(2)data.json文件设置

(3)接口传参设置

(4)批量执行用例

(5)执行结果

十二、Cookie鉴权

1、cookie定义

2、cookie查找

3、cookie分类

(1)会话Cookie

(2)持久Cookie

4、Cookie的鉴权原理

5、Postman实现Cookie鉴权

十三、Mock测试

1、Mock定义

2、Mock目的

3、Mock意义

4、Mock应用场景

5、Mock服务

6、Postman创建Mock服务

7、Postman访问Mock服务

(1)GET请求Mock示例

(2)POST请求Mock示例

十四、处理加/解密接口

1、市面上加密技术

2、案例应用

(1)新建用户接口

(2)用户名密码进行加密

(3)发起请求

十五、Newman工具介绍

1、工具安装

(1)安装Node.js

(2)安装newman

newman安装报错

(3)安装newman-reporter-html

2、导出postman案例脚本

(1)接口案例导出

(2)环境变量导出

(3)全局变量导出

(4)导出结果

3、newman执行测试

(1)newman参数设置

(2)newman启动测试

(3)newman生成测试报告

面试题


一、postman简介

1、postman介绍

postman是一个接口测试工具,在做接口测试的时候,postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。

它主要是用来模拟各种HTTP请求的(如:get/post/delete/put…等等),postman与浏览器的区别在于有的浏览器不能输出json格式,而postman可以更直观看到接口返回的结果。

2、postman特点

  • 简单易用的图形化用户界面
  • 支持保存接口请求的历史记录
  • 使用测试集合Collection可以更有效的管理组织接口
  • 支持团队之间同步接口数据
  • 做接口功能性的测试

3、postman下载与安装

(1)下载

直接在官网下载即可

Download Postman | Get Started for Free

(2)安装

双击打开安装包直接进行安装

4、postman注册登录

刚打开时,需要注册新用户,点击【Create Acount】进行注册

输入邮箱、用户名、密码,点击注册

如图所示,即登录成功

5、postman卸载

postman如果需要卸载的话,右键图标打开文件所在位置,退回到AppData文件夹,删除local、Roaming文件夹下的postman文件夹即可

二、postman工具初识

1、界面导航说明

由于界面纯英文显示,第一次接触postman的小伙伴可能不太熟悉,这里以主界面的图做注解,来说明下各个元素的含义(后面会详细介绍到)

2、发送第一个请求

第一次使用postman时,这里以一个百度翻译接口为例:发起一个get类型的请求

(1)创建一个工程目录

注意:如果没有特别的要求,只需要创建一次即可

(2)创建collection集合

collection是postman管理接口请求的基本单位,首先就是把他创建出来,我们在自己的工程下,点击【+】号,再点击【Blank collection】创建空集合后,可进行重命名

(3)创建一个接口请求

在新建的空集合下右键点击【Add request】,新建一个接口请求,即接口用例,新建后也可重命名

(4)拼装一个接口请求参数

对于一个接口请求来说,需要三部分内容:

入参示例:
q=apple
from=auto
to=zh
appid=20190630000313415
salt=888888
sign=a9adc2d687fbacecc3b5059b9ccedc95

(5)发送请求

点击url地址栏后面的send按钮发送请求

返回结果如下:

{
    "from": "en",
    "to": "zh",
    "trans_result": [
        {
            "src": "apple",
            "dst": "苹果"
        }
    ]
}

三、接口测试流程

1、接口测试分类

(1)测试外部接口

是被测系统和外部系统之间的接口(一般只需要正常调用即可)

(2)测试内部接口

是被测系统内部各个模块之间的接口

  • 内部接口提供给内部系统使用(一般只需要正常调用即可)
  • 内部接口提供给外部系统使用(测试必须非常全面)

2、接口测试重点

测试接口参数传递的正确性,接口功能的正确性以及各种异常情况下系统的容错能力、接口的权限控制、接口的兼容性

3、接口测试流程

(1)拿到api接口文档(可以找开发拿,也可以抓包自己创建,也可以录制后自己创建),熟悉接口文档业务、接口地址、接口鉴权(鉴定是否有访问接口的权限)方式、接口入参、出参、是否有完善的错误码机制

(2)编写接口测试用例

正例:输入正常的入参,接口能够正常返回(get/post)

反例:

  • 鉴权反例:必填、错误的鉴权码、鉴权码已过期…
  • 参数反例:必填,参数类型异常、参数长度异常…
  • 错误码反例
  • 其他场景:黑名单、接口调用次数限制、分页场景
  • 接口的兼容性:一个接口是否能兼容多个版本的前端

(3)使用接口测试工具postman/jmeter/apifox执行接口测试,提供bug以及bug验证

(4)Postman+Newman+Jenkins+git实现持续集成并且生成报告

四、执行接口测试

1、postman元素含义

以上图为例,对各个元素进行拆解

(1)请求

请求有四大块组成:请求方式、请求路径、请求头、请求参数

请求方式和请求路径这里就不多做解释了

Params:get请求传参

Authorization:鉴权

Headers:请求头

  • accept:客户端接收的数据类型
  • content-type:客户端发送给服务器的数据类型
  • user-agent:客户端的类型
  • xmlhttprequest:异步请求
  • …

Body:post请求传参

  • none:没有参数
  • from-data:文件上传以及键值对(两种请求,可选)
  • x-www-form-urlencoded:表单请求(键值对)
  • raw:使用原始数据格式请求(JSON、XML、HTML、Text、JavaScript)
  • binary:二进制文件上传
  • GraphQL:不怎么使用,可忽略

Pre-request Script:请求之前的脚本

Tests:请求之后的脚本

Settings:设置

Cookies:Postman用于自动管理Cookie的功能

(2)响应

Body:返回的值

  • Pretty:以不同的格式查看返回结果
  • Raw:以文本格式查看返回结果
  • Preview:以网页格式查看返回结果

Cookies:响应的Cookie

Headers:响应头

Test Results:断言的结果

(3)调试

Console:控制台,用于调试,位于界面左下角

2、实例演示

这里的实例在后续的内容描述中都会用到

(1)获取鉴权码access token接口
grant_type=client_credential
appid=wx74a8627810cfa308
secret=e40a02f9d79a8097df497e6aaf93ab80

如图所示,点击send发起请求,下边为响应,即接口返回了一个token

(2)获取公众号已创建的标签接口
access_token=ACCESS_TOKEN

参数【access_token】取值需要从“获取鉴权码access token接口”中接口返回的值获取

注意:因为接口2用到了接口1返回的结果,因此存在接口关联的情况,也就是需要把接口1的值提取出来放在接口2的参数值中,具体内容见第五章

(3)创建标签接口
json格式
{"tag":{"name":"陕西西安"}}

(4)文件上传接口
  • 请求方式:POST
  • 请求路径:https:///api.weixin.qq.com/cgi-bin/media/uploadimg?access_token={{token}}
  • 请求参数:
media=文件附件

返回格式如下,这里可以根据返回地址查看浏览器中上传的图片

{"url":"http:\/\/mmbiz.qpic.cn\/mmbiz_jpg\/GXkibaAlg9h9tgVicG4UrkHUyDAvgicOPfbGkTcytsfQUsgfgh2L9jAEN8X8qEnvjOOcKRgsxoEMwH4FPWPY4y0nw\/0"}

(5)删除标签接口
{"tag":{"id":15475}}

这里的id取值也可以直接使用全局变量【tag_id】,删除新建的标签,使接口形成一个业务闭环案例

(6)编辑标签接口
{
    "tag": {
        "id": {{tag_id}},
        "name": "陕西西安{{$timestamp}}"
    }
}

这里的id直接使用全局变量【tag_id】,要修改标签信息,则需要先获取到目标标签的id,这里的目标标签则是新建的标签,因此在新建标签接口请求后获取其返回结果的id作为全局变量,在编辑标签接口中调用即可

五、接口关联

1、JSON提取器

(1)取值并设置全局变量

首先获取到目标接口中的token值,将其设置为全局变量,以便别的接口能调用到该值

注意:接口返回值设置为全局变量时可以点击右边的【Set a global variable】按钮功能直接调用方法

//打印用于调试
console.log(responseBody);
//把返回的字符串转成JSON对象
var jsobj = JSON.parse(responseBody);
//取值并设置为全局变量
pm.globals.set("token", jsobj.access_token);
//console.log(jsobj.access_token);
(2)使用全局变量

在需要的接口里面通过{{token}}取得全局变量的值

{{token}}

2、正则表达式提取器

根据正则表达式获取到接口中的token值,将其设置为全局变量,其他步骤同方式1一致

//正则表达式提取器
console.log(responseBody);
//通过正则表达式匹配值(match匹配)
var datas = responseBody.match(new RegExp('"access_token":"(.*?)"'));
console.log(datas[1]);
//设置成全局变量
pm.globals.set("token",datas[1] );

六、环境变量和全局变量

全局变量:在所有的接口里面都可以访问的变量

环境变量:在当前环境里面可以访问的变量

1、环境变量

(1)设置环境变量

(2)修改请求ip地址

把所有请求中的ip地址改成获取环境变量的方式,如下图所示

{{ip}}

(3)切换环境进行测试

在postman右上角选择不同的环境即可,这里环境可选项就是在【Environments】中新建的环境

注意:不同环境中的变量必须是一致的,变量值不一致

2、全局变量

【Environments】中的Globals即为全局变量统称,点击它就会看到全局变量了,具体构建全局变量可参考第五章

七、动态参数

1、系统自带的动态参数

{{$timestamp}}          //动态时间戳

{{$randomInt}}          //动态0-100的整型

{{$guid}}               //动态的guid字符串

2、自定义动态参数

//自定义动态参数生成随机数
var times = Date.now();
pm.globals.set("times", times);

//定时5秒再执行
const sleep = (milliseconds) => {
    const start = Date.now();
    while(Date.now() <= start + milliseconds) {}
};
sleep(5000);

八、Postman业务闭环用例

我们以第四章的实例来做讲解

一个完整的接口业务闭环案例如下步骤:

  1. 获取鉴权码
  2. 新建标签
  3. 编辑标签
  4. 查询标签
  5. 删除标签

1、实例介绍

拿到鉴权码,新建标签后,获取新建的标签id,根据该id对标签进行修改,修改后全量查询标签,接着再根据id删除该标签,这样就形成了一个完整的闭环

2、效果图展示

各个接口详图展示如下,仅作参考(与第四章的实例构建差别不大,这里不清晰的话可以返回上面根据请求路径自己创建)

(1)获取鉴权码

(2)新建标签

(3)编辑标签

(4)查询标签

(5)删除标签

九、断言

1、断言定义

所谓断言,就是对返回的响应结果,做正误判断,如果结果符合设定的预期则判定为pass,如果结果与预期不符则判定为fail。

断言主要是在Test操作框内进行设置,使用JavaScript语言编写,断言的结果在下方响应内容的TestResult内。

2、常见断言

  • Status code:Code is 200----------------------------------检查返回的状态码是否为200
  • Response body:Contains string-------------------------检查返回的数据中包括有指定的字符串
  • Response body:JSON value check---------------------检查json中的其中一个字段的值
  • Response body:Is equal to a string---------------------检查返回的值等于一个指定的字符串
  • Response headers:Content-Type header check----检查是否包含响应头Content-Type
  • Response time id less than 200ms----------------------检查请求耗时小于200ms
  • Status code:Successful POST request-----------------检查返回的状态码是否在数组中
  • Status code:Code name has string----------------------检查状态信息是指定的字符串

有背景底色的为常用断言

3、八种断言写法

//--------------------断言---获取鉴权码access token接口---
pm.test("检查返回状态码为200", function () {
    pm.response.to.have.status(200);
});

pm.test("检查返回的结果中包含指令字符串", function () {
    pm.expect(pm.response.text()).to.include("access_token");
});

pm.test("检查json中其中一个字段的值", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.字段名).to.eql(7200);
});

//-----------在编辑标签接口中加的断言-----------------------------
pm.test("检查返回的值等于一个指定的字符串", function () {
    pm.response.to.have.body('{"errcode":0,"errmsg":"ok"}');
});
//--------------------------------------------------------------


pm.test("检查是否包含响应头Content-Type", function () {
    pm.response.to.have.header("Content-Type");
});

pm.test("检查请求耗时小于300ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(300);
});

pm.test("检查返回的状态码是否在数组中", function () {
    pm.expect(pm.response.code).to.be.oneOf([200, 202]);
});

pm.test("检查状态信息是指定的字符串", function () {
    pm.response.to.have.status("OK");
});

4、常用断言应用

(1)Status code:Code is 200

在创建标签接口中加检查返回的状态码的断言,断言即在请求之后,如下图所示:

//状态断言
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

(2)Response body:Contains string

检查返回的数据中是否包含指定的字符串,创建标签接口返回的结果中包含id和name,其中name为字符串格式,因此我们可以给该接口加断言

//检查返回结果是否包含指定字符串
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("陕西西安"+pm.globals.get("times"));
});

注意:这里获取到的随机数【times】是因为设置了前置脚本-自定义动态参数,因此断言中可以获取到接口返回结果中文后的随机数

//自定义动态参数生成随机数
var times = Date.now();
pm.globals.set("times", times);

5、断言随机数

一旦需要断言随机数,那么必须使用自定义动态参数

注意事项:

  • 在断言中不能使用【{{}}】的方式取全局变量,要通过【pm.globals.get(“times”)】方式获取全局变量
  • 在断言中取数据文件的值,不能使用【pm.globals.get(“times”)】方式,需要使用【文件名.文件字段名】

十、postman批量运行测试用例

在自己创建的collection集合右上角点击【Run collection】,打开批量执行窗口,设置执行次数以及间隔时长,点击执行

十一、postman的参数化(CSV、JSON)

1、适用场景

当一个接口需要测试多个场景用例:正向用例、反向异常用例,可以使用数据驱动的形式实现

2、接口信息

以【获取鉴权码access token接口】为例,该接口有三个必传参数:grant_type、appid、secret

3、接口用例设计

正向用例反向用例
grant_type、appid、secret必填grant_type无值,appid、secret必填
grant_type、secret必填,appid无值
grant_type、appid必填,secret无值

4、数据驱动实现(参数化)

(1)data.csv文件设置
grant_typeappidsecret
client_credentialwx74a8627810cfa308e40a02f9d79a8097df497e6aaf93ab80
wx74a8627810cfa308e40a02f9d79a8097df497e6aaf93ab80
client_credentiale40a02f9d79a8097df497e6aaf93ab80
client_credentialwx74a8627810cfa308

(2)data.json文件设置
[
	{"grant_type":"client_credential","appid":"wx74a8627810cfa308","secret":"e40a02f9d79a8097df497e6aaf93ab80"},
	{"grant_type":"","appid":"wx74a8627810cfa308","secret":"e40a02f9d79a8097df497e6aaf93ab80"},
	{"grant_type":"client_credential","appid":"","secret":"e40a02f9d79a8097df497e6aaf93ab80"},
	{"grant_type":"client_credential","appid":"wx74a8627810cfa308","secret":""},
]

(3)接口传参设置

变量名与文件中的变量名一致,变量值直接调用全局变量(文件中的变量都默认为全局变量)

(4)批量执行用例

在自己创建的collection集合右上角点击【Run collection】,打开批量执行窗口,选择csv或者json文件,选择后会自动带入执行次数,再勾选要测试的接口,点击执行

(5)执行结果

正例测试通过,反例发送请求时报错

十二、Cookie鉴权

1、cookie定义

存储在客户端的一小段文本信息,格式为键值对的形式

2、cookie查找

以下面的网页为例,打开谷歌浏览器,右键点击检查【F12】,查看界面cookie

本站新帖 - phpwind 9.0 - Powered by phpwind

3、cookie分类

(1)会话Cookie

保存在内存,当浏览器关闭之后会自动删除cookie

(2)持久Cookie

保存在磁盘,当浏览器关闭之后不会清除,只有在失效时间到了之后才会清除

注意:Cookie的值是在服务端设置,在客户端存储,可以设置Cookie的失效时间

4、Cookie的鉴权原理

(1)当客户端第一次访问服务器的时候,服务器就会生成Cookie信息,并且通过响应里的Set-Cookie将Cookie值传输给客户端,客户端接收并自动存储Cookie值。

(2)当客户端第二次访问服务器的时候,客户端就会自动读取本地的cookie,然后根据主机IP或者域名添加对应的cookie,从而实现鉴权

5、Postman实现Cookie鉴权

Postman会自动完成cookie鉴权,无需手动完成。

获取cookie以后,postman发请求不用自己手动添加cookie,他会自动帮我们填写cookie在请求头上

十三、Mock测试

1、Mock定义

Mock是一种比较特殊的测试技巧,可以在没有依赖项的情况下进行接口或单元测试,通常情况下,Mock与其他方法的区别是,用于模拟代码依赖对象,并允许设置对应的期望值

2、Mock目的

因项目中任务的不同分工,会出现每个人的任务进度不一样的情况,就会出现模块A开发完成,但其依赖项模块B还未完成,这时候如果进行集成测试时,就会出现两个模块无法有效完成工作。针对这种情况,Mock服务便应运而生。Postman中的Mock服务器可以减轻团队开发中这种不同步的情况。

3、Mock意义

在API开发的前期,构建Mock集合可以帮助团队之间进行清晰有效沟通,并尽快就预期结果达成一致,在实际开发过程中,所有人员可以同步并行工作,减少因相互依赖而导致延期的风险

4、Mock应用场景

  • 前后端联调
  • 调用第三方接口测试错误场景
  • demo演示

5、Mock服务

Mock不是一个真实的服务,仅是一个被伪装成真实服务的假服务,通过Mock,可以测试我们API并检验结果是否正确。

Postman可以创建两种类型的Mock服务

  • 私有Mock:私有Mock服务需要在请求头中添加Postman API key,如X-Api-Key:postman API key
  • 公有Mock:公有Mock服务可以被任何人访问,在使用过程中不需要添加Postman API key

6、Postman创建Mock服务

(1)点击左侧图标【Mock Servers】,点击【Create Mock Server】,在右侧填写相应的Mock服务器参数,并点击【Next】,如下所示

(2)填写Mock服务器的相关信息并点击【Create Mock Server**】**

(3)在创建Mock Server成功后,会出现如下界面

7、Postman访问Mock服务

不需要做任何配置,创建Mock服务后,postman会自动创建集合以及环境变量,直接发送请求即可(切换至Collections,发送请求)

(1)GET请求Mock示例

(2)POST请求Mock示例

十四、处理加/解密接口

1、市面上加密技术

(1)对称式加密:DES,AES,Base64加密

(2)非对称式加密:RSA加密 (BEJSON网址可用)

非对称式加密也叫双钥加密(公钥和私钥【公钥加密,私钥解密】/【私钥加密,公钥解密】)

(3)只加密不解密:MD5,SHA1,SHA3

(4)混合加密(自定义加密方式):使用多种加密方式

(5)接口签名Sign

2、案例应用

这里以一个简单的用户登录接口为例,讲解如何测试加/解密,接口文档中有描述用哪种加密技术(这里是我的本地接口,想要实操的小伙伴可以自己搭建)

(1)新建用户接口
  • 请求方式:POST
  • 请求路径:http://127.0.0.1:8787/dar/user/login
  • 请求参数:user_name、passwd

​

(2)用户名密码进行加密

在前置脚本中使用Base64位进行加密,分别对入参【user_name和passwd】取值进行加密

//Base64位加密
//把需要加密的值转换成utf-8的编码格式
var us = CryptoJS.enc.Utf8.parse("test01");
var pw = CryptoJS.enc.Utf8.parse("admin123");
//对转换后的值做Base64加密
var bs64_us = CryptoJS.enc.Base64.stringify(us);
var bs64_pw = CryptoJS.enc.Base64.stringify(pw);
//设置为全局变量
pm.globals.set("bs64_us", bs64_us.toString().toUpperCase());
pm.globals.set("bs64_pw", bs64_us.toString().toUpperCase());

​

(3)发起请求

如图所示,用户登录成功

​

十五、Newman工具介绍

Newman 是一款基于Node.js开发的,专为 postman 而生的命令行工具,通过命令行执行

通过 Newman 执行脚本,可以在 Jenkins 上实现 postman 接口测试持续集成,是一种非常简单方便进行接口测试的方法

1、工具安装

(1)安装Node.js

下载地址:下载 | Node.js 中文网 (nodejs.cn)

下载后一路next ,安装后,打开cmd,输入node -v ,看到输出node的版本信息,即代表安装成功,环境变量设置也正确

注意:安装的时候多等待一会,不要着急点击取消

​

(2)安装newman

点击【win+R】,输入cmd打开命令行,直接在命令行输入安装命令即可安装

//安装命令
npm install -g newman

验证是否安装成功

//验证命令
newman -v

newman安装报错

安装newman时如果遇到了如下报错,CERT_HAS_EXPIRED是一个由Node.js和npm抛出的错误,表示你正在尝试访问的服务器的SSL证书已经过期

解决办法:

1、清除npm缓存

npm cache clean --force

2、取消ssl验证:
npm config set strict-ssl false
3、再进行安装

(1)正常安装:

npm install -g newman

(2)npm镜像源安装:

npm install -g newman --registry=https://registry.npm.taobao.org

如果上面的步骤还是安装失败的话,再试试更换镜像源

npm config set registry http://registry.cnpmjs.org
npm config set registry http://registry.npm.taobao.org

(3)安装newman-reporter-html

使用命令安装 html 报告模板,方便查看测试用例执行结果

//安装html报告模板 
npm install -g newman-reporter-html

2、导出postman案例脚本

这里需要导出接口用例、环境变量以及全局变量三部分内容

(1)接口案例导出

(2)环境变量导出

(3)全局变量导出

(4)导出结果

导出文件都为json格式,这里要注意的是,文件命名不要用中文命名

3、newman执行测试

(1)newman参数设置
参数用法
-e– environment 后面跟环境变量文件
-g– global 后面跟全局变量文件
-n– iteration-count 后面跟迭代次数
-d– iteration-data 指定用于迭代的数据源文件
-r– reporters 后面跟数据结果
html将结果生成为html文件,指定生成到具体目录需要配合 --reporter-html-export 文件名 使用
(2)newman启动测试

使用指令newman run xxx.postman_collection.json 即可启动测试,我这里以上边的导出文件做示例,输入指令:

newman run "e:\\newmans\\yongli.json" -e "e:\\newmans\\huanjing.json" -g "e:\\newmans\\quanju.json"

(3)newman生成测试报告

输入指令后生成测试报告【report.html】

newman run "e:\\newmans\\yongli.json" -e "e:\\newmans\\huanjing.json" -g "e:\\newmans\\quanju.json" -r cli,html,json,junit --reporter-html-export "e:\\newmans\\report.html"

面试题

1、GET请求和POST请求的区别是什么?

答:

(1)GET请求一般用于获取数据,POST请求一般用于提交数据

(2)传参的方式不一样

    # GET请求在接口地址里面以【?】的方式传参,多个参数之间用【&】分隔

    # POST是在body当中传参

(3)POST请求比GET请求安全

(4)GET请求只发一个数据报文,POST请求发送两个数据报文

这两年,IT行业面临经济周期波动与AI产业结构调整的双重压力,确实有很多运维与网络工程师因企业缩编或技术迭代而暂时失业。

很多人都在提运维网工失业后就只能去跑滴滴送外卖了,但我想分享的是,对于运维人员来说,即便失业以后仍然有很多副业可以尝试。

运维网工测试副业方向

运维,千万不要再错过这些副业机会!

第一个是知识付费类副业:输出经验打造个人IP

在线教育平台讲师

操作路径:在慕课网、极客时间等平台开设《CCNA实战》《Linux运维从入门到精通》等课程,或与培训机构合作录制专题课。
收益模式:课程销售分成、企业内训。

技术博客与公众号运营

操作路径:撰写网络协议解析、故障排查案例、设备评测等深度文章,通过公众号广告、付费专栏及企业合作变现。
收益关键:每周更新2-3篇原创,结合SEO优化与社群运营。

第二个是技术类副业:深耕专业领域变现

企业网络设备配置与优化服务

操作路径:为中小型企业提供路由器、交换机、防火墙等设备的配置调试、性能优化及故障排查服务。可通过本地IT服务公司合作或自建线上接单平台获客。
收益模式:按项目收费或签订年度维护合同。

远程IT基础设施代维

操作路径:通过承接服务器监控、日志分析、备份恢复等远程代维任务。适合熟悉Zabbix、ELK等技术栈的工程师。
收益模式:按工时计费或包月服务。

网络安全顾问与渗透测试

操作路径:利用OWASP Top 10漏洞分析、Nmap/BurpSuite等工具,为企业提供漏洞扫描、渗透测试及安全加固方案。需考取CISP等认证提升资质。
收益模式:单次渗透测试报告收费;长期安全顾问年费。

比如不久前跟我一起聊天的一个粉丝,他自己之前是大四实习的时候做的运维,发现运维7*24小时待命受不了,就准备转网安,学了差不多2个月,然后开始挖漏洞,光是补天的漏洞奖励也有个四五千,他说自己每个月的房租和饭钱就够了。

在这里插入图片描述

为什么我会推荐你网安是运维人员的绝佳副业&转型方向?

1.你的经验是巨大优势: 你比任何人都懂系统、网络和架构。漏洞挖掘、内网渗透、应急响应,这些核心安全能力本质上是“攻击视角下的运维”。你的运维背景不是从零开始,而是降维打击。

2.越老越吃香,规避年龄危机: 安全行业极度依赖经验。你的排查思路、风险意识和对复杂系统的理解能力,会随着项目积累而愈发珍贵,真正做到“姜还是老的辣”。

3.职业选择极其灵活: 你可以加入企业成为安全专家,可以兼职“挖洞“获取丰厚奖金,甚至可以成为自由顾问。这种多样性为你提供了前所未有的抗风险能力。

4.市场需求爆发,前景广阔: 在国家级政策的推动下,从一线城市到二三线地区,安全人才缺口正在急剧扩大。现在布局,正是抢占未来先机的黄金时刻。

在这里插入图片描述

运维网工测试转行学习路线

在这里插入图片描述

(一)第一阶段:网络安全筑基

1. 阶段目标

你已经有运维经验了,所以操作系统、网络协议这些你不是零基础。但要学安全,得重新过一遍——只不过这次我们是带着“安全视角”去学。

2. 学习内容

**操作系统强化:**你需要重点学习 Windows、Linux 操作系统安全配置,对比运维工作中常规配置与安全配置的差异,深化系统安全认知(比如说日志审计配置,为应急响应日志分析打基础)。

**网络协议深化:**结合过往网络协议应用经验,聚焦 TCP/IP 协议簇中的安全漏洞及防护机制,如 ARP 欺骗、TCP 三次握手漏洞等(为 SRC 漏扫中协议层漏洞识别铺垫)。

**Web 与数据库基础:**补充 Web 架构、HTTP 协议及 MySQL、SQL Server 等数据库安全相关知识,了解 Web 应用与数据库在网安中的作用。

**编程语言入门:**学习 Python 基础语法,掌握简单脚本编写,为后续 SRC 漏扫自动化脚本开发及应急响应工具使用打基础。

**工具实战:**集中训练抓包工具(Wireshark)、渗透测试工具(Nmap)、漏洞扫描工具(Nessus 基础版)的使用,结合模拟场景练习工具应用(掌握基础扫描逻辑,为 SRC 漏扫工具进阶做准备)。

(二)第二阶段:漏洞挖掘与 SRC 漏扫实战

1. 阶段目标

这阶段是真正开始“动手”了。信息收集、漏洞分析、工具联动,一样不能少。

熟练运用漏洞挖掘及 SRC 漏扫工具,具备独立挖掘常见漏洞及 SRC 平台漏扫实战能力,尝试通过 SRC 挖洞搞钱,不管是低危漏洞还是高危漏洞,先挖到一个。

2. 学习内容

信息收集实战:结合运维中对网络拓扑、设备信息的了解,强化基本信息收集、网络空间搜索引擎(Shodan、ZoomEye)、域名及端口信息收集技巧,针对企业级网络场景开展信息收集练习(为 SRC 漏扫目标筛选提供支撑)。

漏洞原理与分析:深入学习 SQL 注入、CSRF、文件上传等常见漏洞的原理、危害及利用方法,结合运维工作中遇到的类似问题进行关联分析(明确 SRC 漏扫重点漏洞类型)。

工具进阶与 SRC 漏扫应用:

  • 系统学习 SQLMap、BurpSuite、AWVS 等工具的高级功能,开展工具联用实战训练;

  • 专项学习 SRC 漏扫流程:包括 SRC 平台规则解读(如漏洞提交规范、奖励机制)、漏扫目标范围界定、漏扫策略制定(全量扫描 vs 定向扫描)、漏扫结果验证与复现;

  • 实战训练:使用 AWVS+BurpSuite 组合开展 SRC 平台目标漏扫,练习 “扫描 - 验证 - 漏洞报告撰写 - 平台提交” 全流程。
    SRC 实战演练:选择合适的 SRC 平台(如补天、CNVD)进行漏洞挖掘与漏扫实战,积累实战经验,尝试获取挖洞收益。

恭喜你,如果学到这里,你基本可以下班搞搞副业创收了,并且具备渗透测试工程师必备的「渗透技巧」、「溯源能力」,让你在黑客盛行的年代别背锅,工作实现升职加薪的同时也能开创副业创收!

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:全网最全的网络安全资料包需要保存下方图片,微信扫码即可前往获取!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

(三)第三阶段:渗透测试技能学习

1. 阶段目标

全面掌握渗透测试理论与实战技能,能够独立完成渗透测试项目,编写规范的渗透测试报告,具备渗透测试工程师岗位能力,为护网红蓝对抗及应急响应提供技术支撑。

2. 学习内容

渗透测试核心理论:系统学习渗透测试流程、方法论及法律法规知识,明确渗透测试边界与规范(与红蓝对抗攻击边界要求一致)。

实战技能训练:开展漏洞扫描、漏洞利用、电商系统渗透测试、内网渗透、权限提升(Windows、Linux)、代码审计等实战训练,结合运维中熟悉的系统环境设计测试场景(强化红蓝对抗攻击端技术能力)。

工具开发实践:基于 Python 编程基础,学习渗透测试工具开发技巧,开发简单的自动化测试脚本(可拓展用于 SRC 漏扫自动化及应急响应辅助工具)。

报告编写指导:学习渗透测试报告的结构与编写规范,完成多个不同场景的渗透测试报告撰写练习(与 SRC 漏洞报告、应急响应报告撰写逻辑互通)。

(四)第四阶段:企业级安全攻防(含红蓝对抗)、应急响应

1. 阶段目标

掌握企业级安全攻防、护网红蓝对抗及应急响应核心技能,考取网安行业相关证书。

2. 学习内容

护网红蓝对抗专项:

  • 红蓝对抗基础:学习护网行动背景、红蓝对抗规则(攻击范围、禁止行为)、红蓝双方角色职责(红队:模拟攻击;蓝队:防御检测与应急处置);

  • 红队实战技能:强化内网渗透、横向移动、权限维持、免杀攻击等高级技巧,模拟护网中常见攻击场景;

  • 蓝队实战技能:学习安全设备(防火墙、IDS/IPS、WAF)联动防御配置、安全监控平台(SOC)使用、攻击行为研判与溯源方法;

  • 模拟护网演练:参与团队式红蓝对抗演练,完整体验 “攻击 - 检测 - 防御 - 处置” 全流程。
    应急响应专项:

  • 应急响应流程:学习应急响应 6 步流程(准备 - 检测 - 遏制 - 根除 - 恢复 - 总结),掌握各环节核心任务;

  • 实战技能:开展操作系统入侵响应(如病毒木马清除、异常进程终止)、数据泄露应急处置、漏洞应急修补等实战训练;

  • 工具应用:学习应急响应工具(如 Autoruns、Process Monitor、病毒分析工具)的使用,提升处置效率;

  • 案例复盘:分析真实网络安全事件应急响应案例(如勒索病毒事件),总结处置经验。
    其他企业级攻防技能:学习社工与钓鱼、CTF 夺旗赛解析等内容,结合运维中企业安全防护需求深化理解。

证书备考:针对网安行业相关证书考试内容(含红蓝对抗、应急响应考点)进行专项复习,参加模拟考试,查漏补缺。

运维网工测试转行网络攻防知识库分享

网络安全这行,不是会几个工具就能搞定的。你得有体系,懂原理,能实战。尤其是从运维转过来的,别浪费你原来的经验——你比纯新人强多了。

但也要沉得住气,别学了两天Web安全就觉得自己是黑客了。内网、域渗透、代码审计、应急响应,要学的还多着呢。

如果你真的想转,按这个路子一步步走,没问题。如果你只是好奇,我劝你再想想——这行要持续学习,挺累的,但也是真有意思。

关于如何学习网络安全,笔者也给大家整理好了全套网络安全知识库,需要的可以扫码获取!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1、网络安全意识
在这里插入图片描述

2、Linux操作系统
在这里插入图片描述

3、WEB架构基础与HTTP协议
在这里插入图片描述

4、Web渗透测试
在这里插入图片描述

5、渗透测试案例分享
在这里插入图片描述

6、渗透测试实战技巧
在这里插入图片描述

7、攻防对战实战
在这里插入图片描述

8、CTF之MISC实战讲解
在这里插入图片描述

关于如何学习网络安全,笔者也给大家整理好了全套网络安全知识库,需要的可以扫码获取!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

接口测试(二):Postman使用总结 postman是一款简单高效的接口测试工具,能够很方便发送接口请求,易于保存测试接口脚本,postman提供接口响应数据比对功能,可以设置预期结果作断言,还能把测试用例放在一个集合中批量执行,比如每个环境可以看作一个集合,方便不同环境接口请求信息的管理和执行,工作中写接口自动化测试脚本时,也可以用postman工具调通接口再去实现自动化测试代码。 阅读详情

相关推荐

接口测试工具——Postman

一、简介与安装 二、基本使用 三、断言 四、postman请求前置脚本 五、postman关联 六、postman生成用例报告

Echo_165的博客 2万+

Postman(接口测试工具)

笔记型博客之Postman

weixin_54107527的博客 11万+

postman接口测试工具详解

Postman作为一款功能全面的API接口测试工具,不仅支持HTTP协议的所有请求方式,还提供了丰富的功能来帮助开发人员和测试人员提高工作效率和测试质量。通过对Postman的深入了解和灵活运用,可以极大地提升API开发的效率和质量,保障系统的稳定性和可靠性。

丁爸的博客 1717

postman接口测试工具详解【全】

postman是一个接口测试工具,在做接口测试的时候,postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。它主要是用来模拟各种HTTP请求的(如:get/post/delete/put…等等),postman与浏览器的区别在于有的浏览器不能输出json格式,而postman可以更直观看到接口返回的结果。

2301_80864686的博客 10万+

GitLab教程(四):分支(branch)和合并(merge)

命令进行合并时,Git具备一定的智能自动化处理能力:如果一个分支仅修改了文件A,而另一个分支独立地修改了文件B,Git能够无缝整合这些更改,自动完成合并过程——即最终的代码既包含了对A文件的修改也包含了对B文件的修改。同样地,若两个分支虽然都修改了同一个文件,但涉及的是文件中互不重叠的部分,比如一个改动发生在第一行,另一个则在第二行,Git同样能巧妙地自动合并这些非冲突性修改。获取了远程分支的最新变化,或者当你想要合并本地的一个分支到当前分支时,就会用到这个命令。,默认会尝试合并远程分支到当前分支。

TracyCoder的博客 7886

Nvidia Isaac Sim安装与配置 入门教程 2024(2)

Isaac Sim 安装和配置教程将指导用户完成从下载软件到设置和运行仿真的全过程。教程内容包括安装必要的依赖项、配置系统环境、配置Omniverse环境以及调试和优化仿真环境的步骤。通过详细的操作步骤和图文并茂的说明,用户可以快速上手 Isaac Sim,构建出高质量的机器人仿真环境,实现其研究和应用目标。

m0_56661101的博客 2万+

Postman接口测试工具详解

Postman是一款广泛使用的API开发工具,提供了便捷的界面来创建、共享和测试API请求。无论你是初学者还是资深开发者,Postman都能为你的工作带来极大的便利。功能说明示例代码安装Postman下载并安装Postman官网下载安装包创建请求创建并发送API请求自动化测试编写测试脚本并运行测试集合环境变量设置和使用环境变量流程自动化使用Collection Runner和Newman进行自动化在这篇文章中,我们详细介绍了Postman的安装、基本使用和高级功能。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+

WindTerm 安装使用教程

WindTerm是一款Github上开源的 SSH 终端工具,它是完全可以比肩MobaXterm工具的。

m0_69576880的博客 4034

postman测试websocket,零基础入门到精通,收藏这篇就够了

首先New一个WebSocket Request在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。超时会提示连接已断开发送和接收的数据会在下方按顺序显示(之前了解websockt协议的时候,用python模拟了一个简单的,websocket客户端和服务器的通信过程,并监控了进程所占用的句柄数和服务器上的网络连接情况)

Libra1313的博客 1964

科普:Frenet坐标

理想情况下,描述这种常见驾驶行为在数学上应该很容易。一种方法是使用新的坐标系。现在,而不是放下一个正常的笛卡尔网格,我们做一些事情,就像你看到下面…Frenet Coordinates是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。如果我们想要方程式来描述这个动作,那就不容易了!想象一下像下面这样一条弯曲的道路,笛卡尔坐标系就位于它的上面…使用这些笛卡尔坐标,我们可以尝试描述车辆通常在路上行驶的路径…那么在Frenet坐标系下呈现的典型轨迹是什么样的?在这里,我们定义了一个新的坐标系统。

OceanStar的博客 1万+

用RK3588+FPGA搞定Cameralink高速相机?这份保姆级硬件选型与接口配置指南请收好

本文详细介绍了如何利用RK3588与FPGA构建Cameralink高速相机系统,涵盖硬件选型、接口配置及性能优化等关键步骤。通过异构计算架构和精准的带宽分配,实现工业视觉检测和科研成像领域的高效解决方案,特别适合需要实时处理的复杂应用场景。

weixin_30493401的博客 642

postman测试webservice,零基础入门到精通,收藏这篇就够了

一、使用Postman测试WebService接口Postman:适用RESTful接口(HTTP/HTTPS协议)的功能测试1、打开Postman界面如下:设置请求方式为”POST”设置Content-Type为text/xml;设置body请求调用的方法excute及对应的参数param注意引用变量{{pw}}

leah126的博客 1139

双端之Nginx+Php结合PostgreSQL搭建Wordpress

制作的 PG4WP 分支版本,它与所有版本的 WordPress 兼容,解决了原版的一些问题。参数,确保 PostgreSQL 正在监听默认端口(通常是 5432),或者你自定义的端口。:PG4WP 插件存在缺陷和不完整的功能,可能与最新版本的 WordPress 不兼容。的插件,它允许 WordPress 使用 PostgreSQL 数据库。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。

宇宙第一小趴菜的博客 1891

Postman安装与入门简单教程

在测试技术中,接口测试是最基础、最重要,也是收益最高的测试技术,作为接口测试工具中的No.1,一起来看看Postman是怎么入门的吧。 目录1.安装Postman2.注册Postman账号并登录3.创建Collections4.创建Request5.简单的Demo测试 1.安装Postman Postman下载地址:https://app.getpostman.com/app/download/win64 点开后机会自动下载最新版的Postman,如果链接打不开或者很慢也可以上百度去下载,版本旧一点没关系,

欧世乐 4万+

CXSMILES细则-用于在 SMILES 字符串后存储分子的特殊特征

Chemaxon 扩展 SMILES/SMARTS 用于在 SMILES 字符串后存储分子的特殊特征。任何信息都可以存储在 SMILES 字符串后,只要它们由空格或制表符字符分隔,因为 SMILES 解析器会忽略这些信息,或者将它们作为注释使用。扩展特征以以下格式存储:Chemaxon 的扩展 SMILES/SMARTS 不包含非 ASCII 字符,它们通常以字符代码 n 的形式被转义为 &#n;。在 S-group 中,ASCII 字符“,”、“;”、“|”、“{”、“}”也以这种方式转义。此外,符号“$

ASKCOS博客 401

Linux脚本实战之SSH执行远端脚本

Linux脚本实战之SSH连接主机

jks212454的博客 2134

api 接口测试工具:Postman、Apifox、Apipost、api压测(locust)、locust爬虫,收藏这篇就够了

Postman 是一款功能强大的网页调试与发送网页HTTP请求的工具。有 Chrome 插件版本,也有Postman 本地应用程序版本,插件版本早已停止更新。详细了解为什么支持 Postman Chrome 应用程序已被弃用?

leah126的博客 2733

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

2024年Postman进行跨域(CORS)测试的方法教程,零基础入门到精通,收藏这篇就够了

这两年,IT行业面临经济周期波动与AI产业结构调整的双重压力,确实有很多运维与网络工程师因企业缩编或技术迭代而暂时失业。很多人都在提运维网工失业后就只能去跑滴滴送外卖了,但我想分享的是,对于运维人员来说,即便失业以后仍然有很多副业可以尝试。

Libra1313的博客 901

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

前端工程师必备的10款优质工具,零基础入门到精通,收藏这篇就够了

前端开发是创建 Web 页面或移动端等前端界面呈现给用户的过程,需要通过 HTML,CSS,JavaScript 以及衍生出来的各种技术、框架和解决方案,来实现互联网产品的用户界面交互。市面上有许多不同类型的前端开发工具,可以加速产品研发进程。今天就为大家介绍10款优秀的前端开发工具,学会使用这些工具,不仅能提高开发效率,还能更清晰地将自己的研发思路呈现出来。

Python_0011的博客 1492

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精通使用postman接口测试工具(全)

是谷歌开发的一款网页调试和接口测试工具,能够发送任何类型的http请求,支持GET/PUT/POST/DELETE等方法。Postman非常简单易用,可以直接填写URL,header,body等就可以发送一个请求,用来测试api接口非常方便。Postman的优点使用简单,无需搭建环境,直接使用,可以快速构建请求。保存以供以后回放使用。Postman有响应结果的断言功能,可以用来写测试用例。可以把测试用例放在同一个目录下批量运行管理,可以设置迭代次数。

anan_MXYY的博客 7129

postman接口测试工具,接口测试小白入门到精通

一般简单的get请求接口测试我么可以直接在浏览器里面进行调试,但是涉及到一些post接口,权限设置等就无法操作了,因此我们需要接口测试的相关工具介入啦!postman是一个接口测试和http请求的工具,它主要针对的是HTTP请求。模拟浏览器发送请求,接受响应。使用postman可以模拟任何浏览器发出的请求,可以构造请求地址,请求方法,请求内容,cookies等,postman的响应内容包括完整的响应头,响应时间,响应大小,cookie等内容。

小刘的SHARING SPACE 2714

红队攻防 凭证获取的10个方法,零基础入门到精通,收藏这一篇就够了

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

jennycisp的博客 1166

接口测试怎么测?接口测试的流程和步骤(超详细)零基础入门到精通,收藏这篇就够了

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试!那么接口测试是怎么来测试接口的呢?接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求.简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。

Libra1313的博客 2654

【笔记】接口测试工具Postman入门教程

接口测试工具Postman使用教程

MXx_Happy的博客 3018
上一篇: 白盒技术之数据流测试,零基础入门到精通,收藏这篇就够了
下一篇: pikachu漏洞测试网站,零基础入门到精通,收藏这篇就够了
黑客大白
博客等级 码龄5年 1万+粉丝 3206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值