java - 如何验证 Wifi AP 或 Cell 是否有互联网?

标签 java android wifi

我正在寻找通过 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/

相关文章:

java - 铃声偏好根本不触发任何东西

powershell - 选择要在ForEach-Object中使用的字符串

java - Android - 连接到指定的 wifi 并检查 SSID

java - Android - 为什么我的 Toast 消息不显示?

java - 提取字符串中的字符串

android - 在 Android 中更新 GridView

java - Android如何将纬度经度转换成度数格式

java - 维护Arduino和Java程序之间的通信

java - 如果 RxJava 中结果无效,如何发送 onError

java - 香农熵不打印任何内容