php自定义请求工具(请求频次+动态参数)

在项目开发中,前后端进行接口对接时,一定离不开接口测试。所以这个时候就很需要一些第三方api接口测试工具了。比如postman,apifox之类的。lz有事闲暇之余也会做点小项目,不可避免的会用到测试接口工具之类的。在进行测试时突发奇想,为什么不能自己写一个呢?

1.场景需求 

        众所周知,所有软件功能的本质实际上都是接口数据的交互。比如你在注册时,就是通过接口发送注册信息到后端,完成数据的请求。而请求的相关信息就是你注册成功后的账号与密码。所以,通过模拟请求也能完成注册,这点毋庸置疑。那么问题来了,如果我想注册多个账号呢?但是每个注册账号时关键信息又不能重复?如手机号,邮箱等,再然后注册时对方做了ip限制?

基于以上情况,特意写了这个工具,原理也很简单,就是基于php的curl进行模拟请求和动态设置代理ip。

2.页面功能展示

        一共有两个模块,。一个是接口测试,可以设置请求路径,请求方式,请求头,以及代理ip。其中的请求参数目前内置了三种动态参数,由后端php动态随机生产。分别是:手机号,邮箱,验证码。后续也可以根据实际需求动态添加。

        请求返回的信息都有对应的回调,可在响应日志进行查看。查看的方式内置了三种,分别是纯文本,json格式,html格式。

生成文档:会将当前的请求路径,请求头,请求参数保存在历史记录中。

清空表单:就是重置请求路径,请求头,请求参数

导出记录:请求的相关信息会在后端保存在日志中,这里就是相当于下载日志。

 第二个模块就是历史记录,主要用来记录你想保存的一些相关请求,暂时只提供查询和删除功能,为啥不提供点击使用自动填充到接口测试对应参数的功能,说实话,我懒!

 

 3.目录结构

        文件结构很简单,前端主页面index.html,以及后端提供接口模拟请求的两个php文件,这里用data.json来存储数据。如此就脱离了数据库,使用起来更加方便,放到php站点目录下,访问html目录下的index.html即可。logs是日志文件,你每一次的请求相关参数及回调结果都会放在该文件下。

                ​​​​​​​        ​​​​​​​        

日志文件logs:

相当于充当一个保存账号的功能吧。其实不光是用来进行简单的注册,该工具相当于可以设置请求频次和动态参数,那么是不是可以用来刷验证码吗?咳咳~不道德,想想就好。

4.牛刀小试

废话不多说,先来看看效果吧。先发送三次注册请求。

因为之前已经注册过了,所以现在是限制ip了,不要紧,我们开始设置一下动态代理ip。

很好,直接注册三个了,再去日志找到对应的记录,拿到我们注册时的账号密码即可。也可以直接点击导出记录把日志下载下来再找到注册的信息也可。

5.工具索取

        希望看完以上你能了解该工具的使用以及我写这个工具的初心,绝对绝对不是为了定时频繁请求刷某些不良项目的短信包的,这种事我明面上肯定干不出来~作为一个遵纪守法的合法公民,本着技术交流的心态与大家做一些分享。

这里就不做工具公开分享了,点赞收藏评论后私信我要吧~emmm,偶尔也要宠粉一波吧。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JS加密/解密之JSX解密解析(photoshop插件)

简介 Adobe Photoshop 插件通常使用 JSX(JavaScript XML)脚本语言。这是一种基于JavaScript的扩展,专门设计用于处理Adobe Creative Suite(包括Photoshop)的任务。JSX脚本允许开发者编写自定义脚本以扩展和增强Photos…

VueStu02-创建一个Vue实例

一、核心步骤 1.准备容器 准备一个盒子div。 2.引包 从官网引包,有开发版本和生产版本之分。 3.创建Vue实例 创建一个Vue实例,new Vue()。 4.指定配置项 指定配置项,用于渲染数据 。 el:指定挂载点。知道自己将来要管理的是…

springboot解决XSS存储型漏洞

springboot解决XSS存储型漏洞 XSS攻击 XSS 攻击:跨站脚本攻击(Cross Site Scripting),为不和 前端层叠样式表(Cascading Style Sheets)CSS 混淆,故将跨站脚本攻击缩写为 XSS。 XSS(跨站脚本攻击):是指恶意攻击者往 Web 页面里插…

科研成果 | 数说故事联合中大HCP实验室共创「大模型」领域论文,获国际AI学术顶会AAAI收录

日前,中国计算机学会(CCF)推荐的A类国际学术会议AAAI人工智能大会 2024论文接收结果公布。中山大学HCP实验室和数说故事研究员合著的论文《Adaptive Prompt Routing for Arbitrary Text Style Transfer with Pre-trained Language Models》成…

解决虚拟机报错:当前硬件版本不支持设备“nvme”。

报错内容如下图所示: 当前硬件版本不支持设备“nvme”。 未能启动虚拟机。 我们首先在帮助里面查看VMware的版本 我这里是16 打开报错的虚拟机文件夹,找到镜像文件(.vmx文件) 使用记事本(文本编辑器)打开…

metabase filter

What’s this for? Variables in native queries let you dynamically replace values in your queries using filter widgets or through the URL. 本机查询中的变量允许您使用过滤器小部件或通过 URL 动态替换查询中的值。 Variables {{variable_name}} creates a variable…

详细教程 - 进阶版 鸿蒙harmonyOS应用 第十一节——鸿蒙操作系统中的音频播放封装

简介 音频播放是开发鸿蒙应用时的一个重要功能。在这篇文章中,我们将详细探讨如何在鸿蒙系统中实现音频播放的封装,并提供一些代码示例。 一、JAVA版音频播放的实现 在鸿蒙操作系统中,我们可以使用ohos.media.player.Player类来实现音频播放…

linux:掌握systemctl命令控制软件的启动和关闭、掌握使用ln命令创建软连接

掌握使用systemctl命令控制软件的启动和关闭 一:systemctl命令: Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动停止、开机自启 能够被systemctl管理的软件一般也称之为:服务 语法: systemctl | start | stop | status | enable …

【Spring教程31】SSM框架整合实战:从零开始学习SSM整合配置,如何编写Mybatis SpringMVC JDBC Spring配置类

目录 1 流程分析2 整合配置2.1 步骤1:创建Maven的web项目2.2 步骤2:添加依赖2.3 步骤3:创建项目包结构2.4 步骤4:创建SpringConfig配置类2.5 步骤5:创建JdbcConfig配置类2.6 步骤6:创建MybatisConfig配置类2.7 步骤7:创建jdbc.properties2.8 步骤8:创建SpringMVC配置…

漏电保护芯片是什么?具有什么作用?

漏电保护芯片是一种用于监测电气设备是否存在漏电并提供保护的微型芯片。漏电是电气设备中普遍存在的一种安全隐患,当设备发生漏电时,电流会流回地线,并可能导致电击、火灾等严重后果。因此,漏电保护芯片的使用对于保障人身财产安全具有非常重要的意义。下面就是我们几款漏电保…

Python操作Word

Python操作Word 一、Word简介二、向Word写入内容2.1 导入模块2.2 创建doc文档对象2.3 添加段落2.4 添加列表2.5 添加图片2.6 保存文件 三、读取Word内容四、批量生成Word文件 一、Word简介 ​ 在日常工作中,有很多简单重复的劳动其实完全可以交给Python程序&#x…

基于javaweb实现的家教系统

一、系统架构 前端:jsp | js | css | jquery 后端:spring | springmvc | spring-orm 环境:jdk1.7 | mysql 二、代码及数据库 三、功能介绍 01. 管理后台-首页 02. 管理后台-用户信息管理 03. 管理后台-订单信息管理 04. 管理后台-辅…

在Java中高效使用Lambda表达式和流(Streams)的技巧

Java中如何高效使用Lambda表达式和流(Streams)的技巧 1. 简介 在Java中,Lambda表达式和流(Streams)是Java 8引入的两个强大的特性。Lambda表达式为Java添加了一种简洁的方式来实现函数式编程,而流提供了一…

强大的剪切板管理 Paste中文 for Mac

Paste是一款剪切板管理工具,它可用于Mac和iOS设备。Paste的主要功能是帮助用户管理剪切板中的复制和剪切的内容,使其更方便地访问、组织和重用。 以下是Paste剪切板管理工具的主要特点和功能: 剪切板历史记录:Paste会自动记录您复…

从头开始实现LoRA以及一些实用技巧

LoRA是Low-Rank Adaptation或Low-Rank Adaptors的缩写,它提供了一种用于对预先存在的语言模型进行微调的高效且轻量级的方法。 LoRA的主要优点之一是它的效率。通过使用更少的参数,lora显著降低了计算复杂度和内存使用。这使我们能够在消费级gpu上训练大…

uniapp H5项目使用ucharts的Echart组件方式创建圆环

问题:没有报错但是图表不出来 【 调试了半天圆环图表没有不出来。是因为没有明示设置宽度与高度】 /* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */ .charts-box { width: 100%; height: 300px; } 最终效果 先导入ucharts到项目 uniapp的项目…

大模型(LLM)+词槽(slot)构建动态场景多轮对话系统

构建动态场景多轮对话系统 引言 在人工智能和自然语言处理领域,聊天机器人的开发一直是一个热点话题。近年来,随着大型语言模型(LLM)的进步,构建能够理解和响应各种用户需求的聊天机器人变得更加可行和强大。本文将介…

机器学习---决策树

介绍 决策树和随机森林都是非线性有监督的分类模型。 决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别。通过训练数据构建决策树,可以对未知数据进行分类, 随机森林是由多个决策树组成,随机森林中每…

很抱歉,Midjourney,但Leonardo AI的图像指导暂时还无人能及…至少目前是这样

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

使用Python Scrapy设置代理IP的详细教程

目录 前言 一、代理IP的作用和原理 二、Scrapy框架中设置代理IP的方法 步骤1:安装依赖库 步骤2:配置代理IP池 步骤3:创建代理IP中间件 步骤4:激活代理IP中间件 步骤5:运行爬虫程序 三、代码示例 四、常见问题…
最新文章