@capgo/capacitor-network-diagnostics

中文文档
8.0.15发布于 2026/10/15MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4万

本地网络诊断的电容插件.

中文使用文档
文档目录18 节
  1. *免费开始*
  2. 主要特点
  3. 安装
  4. 测试什么
  5. 使用量
  6. 合并诊断运行
  7. 平台说明
  8. API 密码
  9. 获取网络状态
  10. testUrl (...)
  11. 测试端口(...)
  12. 测试WebSocket(...)
  13. 已下载Speed(...)
  14. 测试包Loss(...)
  15. 运行分析(...)
  16. 获取 PluginVersion ()
  17. 接口
  18. 类型异名

@capgo/电容-网络-诊断

找出为什么您的 Capacitor app 无法到达您的后端: 测试连接类型, HTTP 可达性, TCP 端口, WebSockets, 下载速度以及设备本身的包丢失 .

Capgo - Build Capacitor apps with AI, ship updates instantly

队长:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

*免费开始*

14天无限自由审判. 不需要信用卡

🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 @capgo/capacitor-network-diagnostics 在您的电容应用程序中: npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-network-diagrostics到我的Capacitor应用上,并把它接上。" 代理设置指南 • 妇女 主机磁共振

@capgo/capacitor-network-diagnostics for Capacitor apps

主要特点

  • 网络状态数字 : getNetworkStatus() 返回本地连接类型和网络旗.
  • 可达到性数字 : testUrl() 用于 HTTP 或 HTTPS 和 testPort() 一个TCP主机和端口.
  • 网络软件数字 : testWebSocket() 检查握手完成.
  • 业绩数字 : testDownloadSpeed() 财务报告和审定财务报表 testPacketLoss()。 。 。 .
  • 一份报告数字 : runDiagnostics() 运行数个检查并返回压缩摘要.
  • 平台: iOS,Android和Web. 互联网档案馆的存檔,存档日期2013-12-02. Web 运行浏览器能力检查 。 TCP端口测试需要本土代码.

安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-network-diagnostics` plugin in my project.

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capgo/capacitor-network-diagnostics
npx cap sync

测试什么

  • 目前本地连接类型:WiFi,蜂窝,ethenet,VPN,无,或未知.
  • OS网络旗:在Android上验证了互联网,在Android上封存了门户,如果有的话费用昂贵或受限制的路径.
  • 原生HTTP/HTTPS URL可达性,具有状态代码和耐用性.
  • 原生TCP主机:端口连接.
  • 本地 WebSocket 握手方式 ws:// 财务报告和审定财务报表 wss://。 。 。 .
  • 根据自己的测试文件端点下载吞吐量 .
  • 使用重复的 TCP 连接或 HTTP 请求来丢失包.

App Store和Play Store应用软件的Raw ICMP ping并不一致. testPacketLoss 因此,用TCP或HTTP探测器测量应用级损失.

使用量

import { NetworkDiagnostics } from '@capgo/capacitor-network-diagnostics';

const status = await NetworkDiagnostics.getNetworkStatus();

const api = await NetworkDiagnostics.testUrl({
  url: 'https://api.example.com/health',
  method: 'HEAD',
  timeoutMs: 5000,
});

const port = await NetworkDiagnostics.testPort({
  host: 'api.example.com',
  port: 443,
  timeoutMs: 3000,
});

const ws = await NetworkDiagnostics.testWebSocket({
  url: 'wss://ws.example.com/socket',
  timeoutMs: 5000,
});

const packetLoss = await NetworkDiagnostics.testPacketLoss({
  mode: 'tcp',
  host: 'api.example.com',
  port: 443,
  count: 10,
});

console.log({ status, api, port, ws, packetLoss });

合并诊断运行

const report = await NetworkDiagnostics.runDiagnostics({
  urls: [{ url: 'https://api.example.com/health' }],
  ports: [{ host: 'api.example.com', port: 443 }],
  websockets: [{ url: 'wss://ws.example.com/socket' }],
  download: {
    url: 'https://speed.example.com/5mb.bin',
    maxBytes: 5 * 1024 * 1024,
  },
  packetLoss: {
    mode: 'tcp',
    host: 'api.example.com',
    port: 443,
    count: 10,
  },
});

console.log(report.issues);

平台说明

  • iOS:不需要额外权限. 连接类型来自 Network.framework。 。 。 .
  • Android: 插件声明 android.permission.INTERNET 财务报告和审定财务报表 android.permission.ACCESS_NETWORK_STATE。 。 。 .
  • Web:作为开发后退提供. 浏览器无法打开原始的 TCP 套接字, 且 URL 检查受 CORS 限制 .

API 密码

原生网络诊断API.

获取网络状态

getNetworkStatus() => Promise<NetworkStatusResult>

读取当前本地连接类型和平台网络旗.

回返情况: Promise<NetworkStatusResult>


testUrl (...)

testUrl(options: UrlTestOptions) => Promise<UrlTestResult>

测试 HTTP 或 HTTPS URL 是否能够从本地网络中达到 .

参数类型
optionsUrlTestOptions

回返情况: Promise<UrlTestResult>


测试端口(...)

testPort(options: PortTestOptions) => Promise<PortTestResult>

测试 TCP 主机: 端口能否从本地网络打开 .

参数类型
optionsPortTestOptions

回返情况: Promise<PortTestResult>


测试WebSocket(...)

testWebSocket(options: WebSocketTestOptions) => Promise<WebSocketTestResult>

测试一个 WebSocket URL能否完成本土握手.

参数类型
optionsWebSocketTestOptions

回返情况: Promise<WebSocketTestResult>


已下载Speed(...)

testDownloadSpeed(options: DownloadSpeedTestOptions) => Promise<DownloadSpeedTestResult>

测量本地 HTTP 请求的下载吞吐量 .

参数类型
optionsDownloadSpeedTestOptions

回返情况: Promise<DownloadSpeedTestResult>


测试包Loss(...)

testPacketLoss(options: PacketLossTestOptions) => Promise<PacketLossTestResult>

使用重复的 TCP 或 HTTP 探测器估计应用级包丢失 .

参数类型
optionsPacketLossTestOptions

回返情况: Promise<PacketLossTestResult>


运行分析(...)

runDiagnostics(options?: RunDiagnosticsOptions | undefined) => Promise<RunDiagnosticsResult>

运行多个诊断并返回一个紧凑的问题清单.

参数类型
optionsRunDiagnosticsOptions

回返情况: Promise<RunDiagnosticsResult>


获取 PluginVersion ()

getPluginVersion() => Promise<PluginVersionResult>

返回平台执行版本标记 .

回返情况: Promise<PluginVersionResult>


接口

网络状态

目前本地网络状态.

Prop类型说明
connectedboolean当平台报告活跃的网络路径时为真.
connectionTypeConnectionType最佳活动运输类型.
internetReachableboolean当操作系统将网络标记为具有互联网能力或验证能力时,这是真的.
expensiveboolean真实的或昂贵的网络路径.
constrainedboolean当OS报告一个低数据或受限的网络路径时是真实的.
captivePortalboolean当Android报告被俘的传送门能力时是真实的.
detailsRecord<string, string | number | boolean>本地平台细节对调试有用.

乌尔测试结果

原生HTTP URL可达性结果.

Prop类型
urlstring
methodUrlTestMethod
okboolean
reachableboolean
durationMsnumber
statusCodenumber
finalUrlstring
errorCodestring
errorMessagestring

乌尔测试选项

本地 HTTP URL 可达性检查的选项 .

Prop类型说明
urlstringHTTP或HTTPS URL要测试.
methodUrlTestMethodHTTP 方法 。 默认为 HEAD。 。 。 .
timeoutMsnumber请求超时, 以毫秒计 。 默认为 10000。 。 。 .
followRedirectsboolean跟踪方向 默认为 true。 。 。 .

港口测试结果

本地 TCP 端口检查结果 .

Prop类型
hoststring
portnumber
openboolean
durationMsnumber
errorCodestring
errorMessagestring

端口测试选项

本地 TCP 端口检查选项 .

Prop类型说明
hoststring主机名或IP地址 .
portnumberTCP端口开通.
timeoutMsnumber以毫秒计算超时 。 默认为 5000。 。 。 .

WebSocket 测试结果

本地WebSocket握手结果.

Prop类型
urlstring
openboolean
durationMsnumber
protocolstring
statusCodenumber
errorCodestring
errorMessagestring

WebSocket 测试选项

本地 WebSocket 握手检查选项 .

Prop类型说明
urlstringws:// 或者说 wss:// URL要测试.
timeoutMsnumber握手暂停数毫秒。 默认为 10000。 。 。 .

下载测试结果

原地下载速度测量结果.

Prop类型
urlstring
okboolean
durationMsnumber
bytesDownloadednumber
bytesPerSecondnumber
mbpsnumber
statusCodenumber
errorCodestring
errorMessagestring

下载测试选项

本地下载速度测量选项 .

Prop类型说明
urlstringHTTP或HTTPS URL返回一个可下载的正文.
maxBytesnumber停止前要读取的最大字节 。 默认为 5242880 (5个米B.
timeoutMsnumber请求超时, 以毫秒计 。 默认为 30000。 。 。 .

包装丢失测试结果

应用程序级包丢失结果 .

Prop类型
modePacketLossMode
targetstring
sentnumber
receivednumber
lostnumber
lossPercentnumber
averageLatencyMsnumber
minLatencyMsnumber
maxLatencyMsnumber
errorCodestring
errorMessagestring

包丢失测试选项

包损失计量的选项 .

原生应用程序不能依赖原始的 ICMP ping 和 iOS 和 Android,所以这个 用重复的 TCP 连接或 HTTP 测量应用级别损失的方法 请求.

Prop类型说明
modePacketLossMode探测模式。 默认为 tcp 提供主机/端口时,否则 http。 。 。 .
hoststringTCP探测器的主机名或IP地址.
portnumberTCP端口用于TCP探测.
urlstringHTTP或HTTP URL用于HTTP探测器.
countnumber要发送的探测器数量 。 默认为 10。 。 。 .
timeoutMsnumber用毫秒计时 默认为 3000。 。 。 .
intervalMsnumber探测器之间的延迟数以毫秒计。 默认为 250。 。 。 .

运行诊断结果

本地网络综合诊断结果.

Prop类型
statusNetworkStatusResult
urlsUrlTestResult[]
portsPortTestResult[]
websocketsWebSocketTestResult[]
issuesstring[]
downloadDownloadSpeedTestResult
packetLossPacketLossTestResult

运行分析选项

综合本土网络诊断运行的选项.

Prop类型
urlsUrlTestOptions[]
portsPortTestOptions[]
websocketsWebSocketTestOptions[]
downloadDownloadSpeedTestOptions
packetLossPacketLossTestOptions

插件变压器

插件版本有效载荷 .

Prop类型说明
versionstring版本标识符由平台执行返回.

类型异名

连接类型

'none' | 'wifi' | 'cellular' | 'ethernet' | 'vpn' | 'other' | 'unknown'

记录

构造 T 类型 K 的一组属性类型

{ [P in K]: T; }

乌尔测试方法

'HEAD' | 'GET'

包装丢失模式

'tcp' | 'http'

版本与发布记录

@capgo/capacitor-network-diagnostics 共发布 15 个版本,首次发布于 2026/05/30;过去 12 个月发布了 15 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.0.15latest2026/10/1525 天前
8.0.142026/10/1327 天前
8.0.132026/10/091 个月前
8.0.122026/10/081 个月前
8.0.112026/10/081 个月前
8.0.102026/09/161 个月前

关于 @capgo/capacitor-network-diagnostics 的常见问题

@capgo/capacitor-network-diagnostics 是什么?

本地网络诊断的电容插件.

如何安装 @capgo/capacitor-network-diagnostics?

在项目目录运行 npm install @capgo/capacitor-network-diagnostics,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capgo/capacitor-network-diagnostics 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capgo/capacitor-network-diagnostics 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capgo/capacitor-network-diagnostics 可以商用吗?

@capgo/capacitor-network-diagnostics 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-network-diagnostics 的下载量有多少?

根据 npm 官方下载统计,@capgo/capacitor-network-diagnostics 在 2026/10/09 – 2026/11/07 这 30 天内被下载 39,707 次,日均约 1,324 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capgo/capacitor-network-diagnostics 还在维护吗?

最新版本 8.0.15 发布于 2026/10/15(25 天前);至今共发布 15 个版本,其中过去 12 个月发布了 15 个;首次发布于 2026/05/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。