Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebBatchRequest

WEB批量请求器 - 一款基于Java Swing开发的批量HTTP请求工具,支持多线程并发请求、自定义请求头、Cookie管理、代理设置等功能。

功能特性

  • 多种请求方法:支持 GET、POST、HEAD 三种HTTP请求方法
  • 批量请求:支持批量导入目标URL,并发处理多个请求
  • 多线程支持:支持1-100线程并发请求,提高效率
  • 自定义请求头:支持自定义Headers、Cookies、User-Agent
  • POST数据支持:支持 application/x-www-form-urlencoded、application/json、multipart/form-data 编码方式
  • 代理支持:支持HTTP代理设置
  • 302跳转跟随:可选择是否跟随重定向
  • 结果导出:支持将结果导出为CSV文件
  • 结果预览:右键预览响应Body内容
  • 浏览器打开:双击或右键使用默认浏览器打开目标URL

技术栈

  • Java 11+
  • Swing (GUI)
  • Maven (构建工具)
  • Java 11 HttpClient (内置HTTP客户端)

项目结构

WebBatchRequest/
├── src/main/java/org/example/
│   ├── Main.java                    # 入口类
│   ├── gui/
│   │   ├── MainFrame.java           # GUI主界面
│   │   └── DefaultTextHandler.java  # 默认文本提示工具
│   ├── service/
│   │   └── HttpRequestService.java  # HTTP请求服务
│   ├── model/
│   │   └── ResponseData.java        # 响应数据模型
│   └── util/
│       ├── FileUtil.java            # 文件操作工具
│       └── HtmlParser.java          # HTML解析工具
├── target/                          # 构建输出目录
├── pom.xml                         # Maven配置
└── README.md                       # 项目说明

快速开始

环境要求

  • JDK 11 或更高版本
  • Maven 3.x

构建项目

mvn clean package

运行项目

java -jar target/WebBatchRequest-1.0-SNAPSHOT.jar

使用说明

基本使用流程

  1. 输入目标URL:在 targets 输入框中输入目标URL,每行一个

    • 支持完整URL(如 https://www.example.com
    • 支持仅域名(如 www.example.com),会自动尝试 http 和 https
  2. 选择请求方法:选择 GET、POST 或 HEAD

  3. 配置请求参数(可选):

    • 自定义Headers
    • 自定义Cookies
    • 自定义User-Agent
    • POST数据(仅POST方法)
  4. 设置线程数:从下拉框选择并发线程数

  5. 点击 Run:开始批量请求

  6. 查看结果:右侧表格显示请求结果,包括状态码、页面标题、服务器Banner、内容长度

高级功能

导入目标

通过 文件 -> 导入目标 菜单导入txt文件,每行一个URL。

导出结果

通过 文件 -> 导出结果 菜单将结果导出为CSV文件。

代理设置

通过 代理设置 -> 添加HTTP代理 菜单设置代理服务器。

右键菜单

在结果表格上右键可:

  • 复制目标地址
  • 使用默认浏览器打开
  • 预览响应Body

代码说明

架构设计

项目采用分层架构设计,分离UI层、业务层和工具层:

层级 职责
UI层 gui 界面展示和用户交互
业务层 service HTTP请求逻辑处理
模型层 model 数据结构定义
工具层 util 文件操作和文本处理

核心类功能

类名 功能描述
Main 应用入口,启动GUI界面
MainFrame 主界面组件,处理用户交互和结果展示
HttpRequestService HTTP请求核心服务,支持代理和重定向
ResponseData 响应数据模型
FileUtil 文件读写工具(TXT读取、CSV导出)
HtmlParser HTML标题提取工具
DefaultTextHandler Swing组件默认文本提示

HTTP请求流程

用户输入 → MainFrame.executeRequests() → HttpRequestService.sendRequest() → 解析响应 → 更新表格

重构说明

v1.1 重构改进

  • 移除第三方依赖:使用 Java 11 原生 HttpClient 替代 http-request
  • 分层架构:分离UI层、业务层、模型层、工具层
  • 代码组织:按职责划分包结构
  • 现代化:使用 Java 11 特性(HttpClient、Stream API等)

许可证

MIT License

作者

@xiaowei

GitHub: https://github.com/ScriptKid-Beta/WebBatchRequest

About

最近在搞网安,之前曾经下载过一个批量网页请求器,还挺好用的,就是Java版本太老了,只有Java8,今天做一个Java11的(Java17也能用),用了业务和ui分离,而且支持jvm进行多线程监察

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages