电脑和手机是如何知道自己连上网的
前言
玩安卓经常刷机的小伙伴可能会发现有些国外的包比如LineageOS等,刷机后会发现Wi-Fi图标有无网络的标识或手机提醒该Wi-Fi无法联网。这是如何产生的呢?
问题分析
因为电脑或手机等网络终端会有一个探测网络连接的机制,当网络连接不可用时及时提示用户。这就是204 机制。那么这个机制是如何实现的呢?
机制分析
安卓手机会请求类似这样的一个地址
http://www.google.com/generate_204
,如果返回的状态码是204则说明网络连接正常,否则说明网络连接不正常。这个地址是Google提供的,所以国外的包也会使用这个地址来探测网络连接。Mac电脑会请求类似这样的一个地址
http://captive.apple.com/hotspot-detect.html
,如果响应文本Success
则说明网络连接正常,否则说明网络连接不正常。这个地址是Apple提供的,所以苹果电脑也会使用这个地址来探测网络连接。Windows电脑会请求类似这样的一个地址
http://www.msftconnecttest.com/connecttest.txt
,如果响应文本Microsoft Connect Test
则说明网络连接正常,否则说明网络连接不正常。这个地址是微软提供的,所以Windows电脑也会使用这个地址来探测网络连接。
问题解决
安卓手机可以根据实际网络环境修改如下地址去解决这个问题。
http://www.gstatic.com/generate_204 |
Windows电脑可以根据实际网络环境修改如下地址去解决这个问题。
http://www.msftconnecttest.com/connecttest.txt |
Mac电脑不用折腾,从来没见过Mac有这种问题。苹果还是牛逼哈,用户体验做到极致!
windows推荐GitHub上一个 好用的工具 可以快速修改,不用再自己一个一个注册表项去改了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Eber的小窝!
评论