README.md

May 19, 2026 · View on GitHub

DevHttpCapture

  • 该库对使用 OkHttp 网络请求库的项目,提供 Http 抓包功能,并支持抓包数据加密存储。

  • 并且是以 Module ( ModuleName Key ) 为基础,支持组件化不同 Module 各自的抓包功能,支持实时开关抓包功能、可控 Http 拦截过滤器,并支持自定义数据转换。

  • 内置三个 Http 抓包拦截器,SimpleInterceptor ( 简单的抓包回调拦截器 )、CallbackInterceptor ( 无存储逻辑,进行回调通知 )、StorageInterceptor ( 存在存储抓包数据逻辑 )

  • DevHttpCaptureCompiler 提供对 DevHttpCapture 抓包库可视化功能

最新版本

moduleDevHttpCaptureDevHttpCaptureCompilerDevHttpCaptureCompilerRelease
version

Gradle

dependencies {
    // DevHttpCapture - OkHttp 抓包工具库
    implementation 'io.github.afkt:DevHttpCapture:1.2.2'

    // DevHttpCaptureCompiler - OkHttp 抓包工具库 ( 可视化功能 )
    debugImplementation 'io.github.afkt:DevHttpCaptureCompiler:1.2.2'
    releaseImplementation 'io.github.afkt:DevHttpCaptureCompilerRelease:1.2.2'
}

示例项目

直接运行、查看使用示例项目代码!!!

DevHttpCaptureUse!!! DevHttpCaptureUse!!! DevHttpCaptureUse!!!

使用示例


// ==================
// = DevHttpCapture =
// ==================

// 添加 Http 抓包拦截处理
DevHttpCapture.addInterceptor(
    OkHttpClient.Builder, moduleName
)

// 移除对应 Module Http 抓包拦截
DevHttpCapture.removeInterceptor(moduleName)

// 更新对应 Module Http 抓包拦截处理
DevHttpCapture.updateInterceptor(moduleName, capture)

// 是否存在对应 Module Http 抓包拦截
DevHttpCapture.containsInterceptor(moduleName)

// ===================================
// = DevHttpCaptureCompiler 抓包可视化 =
// ===================================

// 显示所有 Module 抓包数据
DevHttpCaptureCompiler.start(context)
// 显示指定 Module 抓包数据
DevHttpCaptureCompiler.start(context, moduleName)

// =======
// = 可选 =
// =======

// 添加接口所属功能注释
DevHttpCaptureCompiler.putUrlFunction(moduleName, UrlFunctionGet)
// 移除接口所属功能注释
DevHttpCaptureCompiler.removeUrlFunction(moduleName)

DevHttpCapture API

方法注释
getDevHttpCaptureVersionCode获取 DevHttpCapture 版本号
getDevHttpCaptureVersion获取 DevHttpCapture 版本
getDevAppVersionCode获取 DevApp 版本号
getDevAppVersion获取 DevApp 版本
addInterceptor添加 Http 抓包拦截处理
removeInterceptor移除对应 Module Http 抓包拦截
updateInterceptor更新对应 Module Http 抓包拦截处理
containsInterceptor是否存在对应 Module Http 抓包拦截
getModulePath获取指定模块抓包存储路径
getModuleHttpCaptures获取指定模块所有抓包数据
utils对外公开快捷工具类 ( UtilsPublic )

dev.capture

方法注释
requestTime请求时间 ( 毫秒 )
requestUrl请求链接
requestMethod请求方法
requestHeader请求头信息
requestBody请求数据
responseTime响应时间 ( 毫秒 )
responseStatus响应状态
responseHeader响应头信息
responseBody响应数据
toJson将对象转换为 JSON String
方法注释
filter是否过滤该 Http 请求不进行抓包存储
方法注释
getModuleName获取模块名 ( 要求唯一性 )
getEncrypt获取抓包数据加密中间层
getHttpFilter获取 Http 拦截过滤器
isCapture是否进行 Http 抓包拦截
setCapture设置是否进行 Http 抓包拦截
captureRedact获取抓包信息隐藏字段
getModulePath获取模块抓包存储路径
getModuleHttpCaptures获取模块所有抓包数据
方法注释
callRequestUrl生成请求链接字符串
callRequestMethod生成请求方法字符串
callRequestHeaders生成请求头信息 Map
callRequestBody生成请求体信息 Map
callResponseStatus生成响应状态 Map
callResponseHeaders生成响应头信息 Map
callResponseBodyFailed生成错误响应体信息
callResponseBody生成响应体信息 Map
converterRequestBody转换请求体信息 Map
callEnd抓包结束
方法注释
getUrlgetUrl
getMethodgetMethod
isEncryptisEncrypt
getTimegetTime
getFileNamegetFileName
getModuleNamegetModuleName
getHttpCaptureData获取请求数据 ( 抓包数据 )
getCaptureInfo获取抓包信息封装类
toJson将对象转换为 JSON String
deleteFile删除该对象抓包存储文件
getFile获取该对象抓包存储文件
getDataFile获取该对象抓包数据存储文件
方法注释
getStoragePath获取抓包存储路径
getModulePath获取指定模块抓包存储路径
getAllModuleName获取全部模块名
getAllModule获取全部模块所有抓包数据
deleteModule删除指定模块抓包数据
deleteAllModule删除全部模块抓包数据
getModuleFileSize获取指定模块抓包文件大小
getAllModuleFileSize获取全部模块抓包文件大小
getModuleFileLength获取指定模块抓包文件大小
getAllModuleFileLength获取全部模块抓包文件大小

DevHttpCaptureCompiler API ( 抓包可视化 )

方法注释
finishAllActivity结束所有 Activity
start跳转抓包数据可视化 Activity
putUrlFunction添加接口所属功能注释
removeUrlFunction移除接口所属功能注释

dev.capture

方法注释
toUrlFunction接口所属功能注释获取