移动端网络诊断流程 - xiangwangfeng/xiangwangfeng.github.io GitHub Wiki

移动端网络诊断流程

网络连接可用性

一般通过 Reachability 等进行检查即可。

DNS 服务可用性

一般通过 DNS 相关 API 进行目标域名/IP 解析结果判断。

网络认证可用性

针对国内部分网络有认证的场景,需要检查当前网络是否有认证且本机并没通过认证。一般而言在未认证的情况下都是劫持 http 请求到某个地址,并呈现一个认证页面。基于这个原理,可以设置某个只会返回非 http code = 200 的 http api (如返回 204,500)之类。通过检查最终 http code 是否和预设 code 相同来判别当前环境是否有劫持(网络认证)的存在。

网关和服务器可用性

通过 ping 和 tracerouter 实现。(app 端发起)