我正在寻找通过 WiFi 或手机验证互联网的最佳技术。假设您已连接到某个 AP,但如果互联网存在,您现在还没有连接。
今天,我使用 HttpURLConnection
有 2 个选项:
- 从cdn服务器下载文件
- 向信任网页(例如 google.com)发送请求并获取响应 200。
还有其他方法吗?
所有建议将不胜感激。
最佳答案
在某种程度上,“访问互联网端点的能力”相当于“具有互联网访问权限”。您可以考虑一些算法:
for (Endpoint site : theEntireInternet) {
if (can connect to site) return true;
}
return false;
这将最终建立连接。换句话说,能够连接到任何一个站点就足以证明,但理论上您需要枚举每个站点来证明无法连接。实际上,检查几个主要站点显然就足够了。否则(没有某种关于网络、ISP 等的元信息;这是不可用的)除了……连接到互联网之外,没有办法最终证明“互联网”连接。
当然,正如您所评论的,检查各种基于互联网的应用程序也没有什么坏处;这只是等效技术的不同形式。
关于java - 如何验证 Wifi AP 或 Cell 是否有互联网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13051557/