“登录到Wi-Fi网络”。
接入点/路由器如何识别设备需要登录以及其背后的过程是什么?
#1 楼
不同的Android版本之间的检测网址有所不同。对于棉花糖,它使用Connectivitycheck.gstatic.com/generate_204,在此处检查代码AndroidXRef-棉花糖6.0.0_r1
对于奇巧,它使用client3.google.com/ generate_204
检查代码AndroidXRef-KitKat 4.4.4_r1
#2 楼
该技术称为“强制门户”。有几种实现。据我所知,Android尝试在其中一台Google服务器上访问名为generate_204
的文件,如果无法访问,则会生成一条通知。进一步阅读Wikipedia:Captive_portal
评论
实际上,我了解强制性门户网站。但是我知道要检查的特定URL。我想知道它是如何工作的。不是什么
– Sagar Vaghela
2015年9月15日在9:07
您是什么意思-“运作方式”? Android发送请求,如果没有肯定的响应,则表示没有互联网连接,并生成通知。就是这样。
–Άνδρας
2015年9月15日上午9:11
这是android请求的特定URL。我提到了问题。
– Sagar Vaghela
2015年9月15日9:15
在上一条评论中,您说您知道特定的URL。我认为是https://www.gstatic.com/generate_204
–Άνδρας
2015年9月15日9:28
该网址似乎是clients3.google.com/generate_204。从本网站获取的铬信息可能与android相同。 chrome.org/chromium-os/chromiumos-design-docs/…
–本杰明
2015年9月15日9:34
#3 楼
通常通过将所有流量定向到有效的HTTP响应(200)来实现强制门户。 HTTP响应就是在强制门户中出现的。可以使用iptables或dnsmasq之类的工具来完成。
评论
我不想通过编辑来劫持答案,所以我只留下评论。我花了一段时间才意识到,如果无法到达检测URL,则会触发该通知。另外,我需要访问点以某种内容来响应此请求-在我的情况下,当请求/ generate_204时,我返回了200代码以及Web服务器的索引页。响应中没有内容,无论返回代码如何,我都会收到“ Wi-Fi无法访问互联网”通知。
–炸弹
17年1月19日在23:29
@ubomb似乎很奇怪,因为http://connectivitycheck.gstatic.com/generate_204实际上返回了一个没有内容的204,并且显然可以工作。也许您只是省略了Content-Length:0标头。
–塔米尔·丹尼(Tamir Daniely)
18年6月17日在6:22