デバイスがアクセスポイントまたはルーターに接続しようとすると、キャプティブポータルページにサインインして、次のメッセージを表示する必要があります
“Wi-Fiネットワークにサインイン”。
アクセスポイント/ルーターはどのように機能しますかデバイスにサインインが必要であり、その背後にあるプロセスは何ですか?
回答
検出URLはさまざまなAndroidバージョン。
マシュマロの場合、connectivitycheck.gstatic.com / generate_204を使用します。ここで、コードを確認してください AndroidXRef-Marshmallow 6.0.0_r1
キットカットの場合、clients3.google.com / generate_204を使用してコードを確認します AndroidXRef –KitKat 4.4.4_r1
コメント
回答
このテクノロジーは「キャプティブポータル」と呼ばれます。いくつかの実装があります。私が知っているように、AndroidはGoogleサーバーの1つにあるgenerate_204
という名前のファイルに到達しようとします。それが不可能な場合は、通知が生成されます。
さらに読むウィキペディア: Captive_portal
コメント
- 実際、私はキャプティブポータルについて知っています。しかし、私はそれをチェックするための特定のURLを知っています。それがどのように機能するのか知りたいです。
- どういう意味ですか-"仕組み"? Androidがリクエストを送信し、肯定的な応答がない場合は、インターネットに接続されていないことを意味し、通知が生成されます。これが'の仕組みです。
- Androidがリクエストする特定のURLはどれですか。質問があります。
- 以前のコメントで、特定のURLを知っているとおっしゃいました。 ' s
https://www.gstatic.com/generate_204
- URLは clients3.google.com/generate_204 。このサイトから取得したクロムに関する情報。これはおそらくAndroidでも同じです。 chromium.org/chromium-os/chromiumos-design-docs/ …
回答
キャプティブポータルは通常、すべてのトラフィックを有効なHTTP応答(200)に転送することで実装されます。このHTTP応答は、キャプティブポータルに表示されるものです。
これは、iptablesやdnsmasqなどのツールを使用して実行できます。
http://connectivitycheck.gstatic.com/generate_204
は実際にはコンテンツのない204を返し、明らかに機能するため、奇妙に思えます。Content-Length: 0
ヘッダーを省略しただけかもしれません。