我正在尝试在小型嵌入式设备上实现强制门户。
据我了解,我需要的只是捕获对特殊 url 的智能手机请求并发送包含强制门户页面的响应。为了不维护所有可能的 URL 列表,我设置了一个 DNS,它将所有主机解析为我的设备 IP。
现在,当我将 android 设备连接到我的网络时,我会收到一个请求/generate_204
并发送重定向响应。以下是 curl 命令的请求和响应示例:
curl -v http://google.com/generate_204
* Trying 192.168.1.1...
* Connected to google.com (192.168.1.1) port 80 (#0)
> GET /generate_204 HTTP/1.1
> Host: google.com
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 302 Found
< Content-Type: text/html
< Content-Length: 0
< Location: /
<
* Connection #0 to host google.com left intact
使用 Postman/Chrome 我被重定向到 192.168.1.1/ 并加载了所需的页面。但是我测试了 4 台安卓设备,只有一台向我展示了一个弹出窗口。ios也有同样的问题。/hotspot-detect.html
我收到了一个返回与上述相同响应的请求,但什么也没发生。我在这里想念什么?
谢谢!