美好的一天。 我需要WiFi热点上的Captive Portal,它可以在没有互联网的情况下工作,并弹出通知或自动打开登录页面。 我正在使用Mikrotik和RouterOS 6.27。 我创建了热点,然后在DNS中添加了一个RegExp,如
。* = HOTSPOT_IP_ADDRESS
它在Windows和iOS中运行良好,因为它们的强制门户检测基于获取某些网站的响应。 Afaik - 任何回应。 但对于Android,它必须是一些特殊的响应,空的内容或状态代码204 - 我仍然不确定。
我尝试模仿谷歌页面,这些页面提供204或空响应,并使用此模拟页面重定向到我的服务器,但它无法帮助Android显示通知。
所以我需要帮助才能在没有互联网的情况下在Android中制作强制门户网站通知。
感谢。
答案 0 :(得分:2)
每当您的手机与AP关联时,它都会发送初始测试网址请求。 Android的一项功能是检测它是否被捕获并提供将用户带到启动页面,以便用户可以从陷阱中登录和释放。
请确保允许Android测试网址文件通过带围墙的花园。
作为参考,默认的Android 4.0.1 AOSP测试网址为 http://clients3.google.com/generate_204 ,它始终返回204响应代码。即使DNS受到干扰,因为在这种情况下将返回200代码而不是预期的204。
此外,在提取 http://www.google.com/blank.html 时会有一些变体,它会返回一个带有零长度响应体的200代码。因此,如果你得到一个非空的身体,这将是另一种方法,可以发现你是在一个有围墙的花园后面。