如何通过抓包工具快速生成 Apifox 接口文档?

Apifox 作为 API 协作与管理平台,支持导入各种格式的接口数据。无论是 OpenAPI/Swagger、Postman Collection、HAR 文件,还是 cURL 命令,基本上主流的接口数据格式都能直接导入。

不过在许多实际项目中,最大的问题往往不是怎么导入接口数据,而是没有现成的接口数据可供 Apifox 导入。一些老项目可能从未维护过接口文档,也没有 OpenAPI/Swagger 文档可用。

这时候,如果想要快速补齐项目缺失的接口文档,或者生成测试用例,让测试人员能够基于真实数据快速起步。那么通过流量录制(抓包)工具来获取接口数据,应当是最快捷的解决方案。

通过抓包工具录制应用的 HTTP/HTTPS 流量,筛选后导出 HAR 或 cURL 格式的文件,再导入 Apifox,就可以快速生成接口文档,为后续的接口测试提供基础。

可以进行流量录制的工具有很多,本文以 Charles Proxy 为例来演示具体操作,你也可以使用 Proxyman、Fiddler 等,或者直接使用浏览器自带的开发者工具进行抓包,核心流程大同小异。

Charles 安装与基础配置

Charles 提供 30 天免费试用,你可以从官网下载最新版本来安装。

首次启动 Charles 时,可能会询问是否自动配置系统代理。建议选择「Grant Privileges」授予权限即可,这样 Charles 就能自动捕获系统的 HTTP 流量了。

为了能够抓取 HTTPS 流量,需要安装 Charles 的根证书。点击菜单栏的 「Help → SSL Proxying → Install Charles Root Certificate」,macOS 系统会打开钥匙串访问应用,搜索并找到 Charles Proxy 证书,双击后将信任设置改为 "始终信任" 即可。

Windows 系统需要在安装证书时安装到 "受信任的根证书颁发机构" 存储区。

证书安装后,接着启用 SSL 代理。在 Charles 菜单栏选择 Proxy → SSL Proxying Settings,勾选 "Enable SSL Proxying" 选项。

在列表中添加需要抓取的域名(Host)和端口(Port 443),也可以使用 * 监听所有域名。

配置完成后,Charles 就可以捕获完整的 HTTP/HTTPS 请求和响应了。

如果你不清楚应用具体使用了哪些域名,可以先随便操作应用,再观察 Charles 会话列表中 "Encrypted" 下的请求,记下对应的域名后,再把它们添加到 Charles 的 SSL 代理设置里即可。

录制应用的 API 流量

启动需要分析的应用或者网页,操作各种功能,如登录、查询数据、提交表单或上传文件。Charles 左侧会话树会实时更新请求,按域名和 URL 分组。

选中某个具体的请求后,右侧面板会显示请求的基本信息和响应内容。Contents 选项卡里会将 JSON 等响应折叠成树状结构,方便快速理解数据结构和字段。

筛选和导出接口

录制完成后,你可能会发现捕获到的请求非常多。除了真正的 API 接口调用,还有各种静态资源请求、第三方服务调用等等。这时候需要进行筛选,只保留我们关心的接口。

你可以右键点击域名或路径,选择 "Focus",Charles 会只保留该节点下的请求。方便专注分析。对于无关请求,可右键选择 "Clear" 清除,或多选后批量删除。如果遇到缓存导致 HTML 或 JSON 未正常展示,也可以右键选择 "No Caching",让 Charles 在后续请求中忽略缓存,从而抓到完整的响应内容。

筛选完成后,选中你要导出的会话(可以选择整个域名节点,或者按住 Cmd/Ctrl 键多选具体的请求),然后在菜单栏选择 File → Export Session。在导出对话框中,选择 "HTTP Archive (.har)" 格式导出 HAR 文件。

导入 Apifox 自动生成接口文档

打开 Apifox 客户端,进入"项目设置 → 导入数据 → .har 文件",选择导出的 HAR 文件。

Apifox 会自动解析文件内容,在预览区域显示检测到的接口信息,包括接口数量、请求方法等。导入过程中可以配置选项,例如导入到哪个模块或是否覆盖已有接口。

导入完成后,就可以在对应模块的接口列表里查看了。

完善和优化接口文档

为了稳妥一些,自动生成的接口文档通常需要进一步调整,比如完善接口名称、补充一些参数及其描述、完善响应数据结构,确保文档符合业务需求。

如果接口需要授权,也请在 Apifox 的环境变量Auth 设置中配置相应信息。


通过抓包工具录制 HTTP/HTTPS 流量,再导入 Apifox,可以快速生成接口文档并为测试提供真实数据支持。

无论是浏览器、桌面客户端还是移动应用,这种方法都能缩短接口文档的准备时间,让团队快速上手接口测试与开发。

欢迎各位用户对 Apifox 继续提出使用反馈和优化意见,我们会持续优化更新,致力于为用户提供更优秀的产品功能和更极致的使用体验!

有任何问题欢迎在 Apifox 用户群与我们交流沟通

相关推荐
没事多睡觉66644 分钟前
JavaScript 中 this 指向教程
开发语言·前端·javascript
苏打水com44 分钟前
浏览器与HTTP核心考点全解析(字节高频)
前端·http
用户990450177800944 分钟前
ruoyi集成camunda-前端篇
前端
Aerelin1 小时前
scrapy的介绍与使用
前端·爬虫·python·scrapy·js
BD_Marathon1 小时前
【JavaWeb】前端三大件——HTML简介
前端·html
pilaf19901 小时前
Rust练习题
开发语言·后端·rust
asdfg12589631 小时前
replace(/,/g, ‘‘);/\B(?=(\d{3})+(?!\d))/;千分位分隔
开发语言·前端·javascript
苏禾1 小时前
静态代理与动态代理:深入理解Java代理模式
后端
vx_bisheyuange1 小时前
基于SpringBoot的交通在线管理服务系统
java·spring boot·后端·毕业设计