wanghongenpin / network_proxy_flutter

Open source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems
Apache License 2.0
5.01k stars 399 forks source link

高级重发 #75

Closed lingxingchi closed 4 months ago

lingxingchi commented 6 months ago

软件没有高级重发,就是在重发请求的基础上加上一些功能,可以设定重发次数、重发间隔,不然遇到需要多次重发的请求,只能用连点器点的😭

M17764017422 commented 5 months ago

可以改成使用脚本功能更好,只要在现有脚本功能中加一个入口函数就行

SuperRonin commented 5 months ago

软件没有高级重发,就是在重发请求的基础上加上一些功能,可以设定重发次数、重发间隔,不然遇到需要多次重发的请求,只能用连点器点的😭

你小子想干坏事!

wanghongenpin commented 4 months ago

1.0.7版本已经支持高级重发 https://github.com/wanghongenpin/network_proxy_flutter/releases/tag/1.0.7-Beta

M17764017422 commented 4 months ago

脚本名称:高级重发


function repeatRequest(request, times, interval) {
  let count = 0;
  const intervalId = setInterval(() => {
    fetch(request)
      .then(res => {
        console.log('请求', count + 1, '的状态:', res.status); // 打印请求状态
        if (count < times - 1) { // 如果还没达到最大次数,则计数器加一
          count++;
        } else {
          clearInterval(intervalId); // 达到最大次数时清除定时器
        }
      })
      .catch(err => {
        console.error('请求', count + 1, '失败:', err); // 打印请求失败的日志
        if (count < times - 1) {
          count++;
        } else {
          clearInterval(intervalId); // 请求次数已达上限,清除定时器
        }
      });
  }, interval);
}

async function onRequest(context, request) {
console.log(request.url); //URL参数
return request;
}

async function onResponse(context, request, response) {
  //响应处理代码
  return response;
}

//增加入口函数,Request对象由软件自动传入,其它参数由用户表单填入。
function main(Request,请求次数,间隔时间){
repeatRequest(Request,请求次数,间隔时间);

}
M17764017422 commented 4 months ago

可以和新的《编辑重放》功能合并,根据请求参数创建request对象。 展开使用脚本表单,选择有入口函数的脚本名称,解析main方法参数表,根据参数名,生成用户输入表单项目,点击发送按钮执行入口函数。 然后在请求响应界面增加一个日志打印区,就可以实现简单的脚本调试。 IMG_20240106_193117.jpg 这样整个软件功能更加统一

wanghongenpin commented 4 months ago

对于太自定义高级重发,直接写脚本用IDE跑吧

脚本名称:高级重发

M17764017422 commented 4 months ago

对于太自定义高级重发,直接写脚本用IDE跑吧

脚本名称:高级重发

电脑上当然随便怎么搞都可以,手机就不太方便了