0

小さな組み込みデバイスにキャプティブ ポータルを実装しようとしています。

私が理解しているように、必要なのはスマートフォンのリクエストを特別な URL にキャプチャし、キャプティブ ポータル ページを含むレスポンスを送信することだけです。すべての可能な URL のリストを維持しないために、すべてのホストをデバイス IP に解決する DNS をセットアップしました。

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 つの Android デバイスをテストしましたが、ポップアップが表示されたのは 1 つだけでした。iOSと同じ問題。/hotspot-detect.html上記と同じ応答を返す要求を受け取りましたが、何も起こりませんでした。ここで何が欠けていますか?

ありがとう!

4

2 に答える 2