Плененный портал без Интернета на Android

Добрый день. Мне нужен Captive Portal в точке доступа Wi-Fi, которая будет работать без Интернета и всплывает уведомление или автоматически открывает страницу входа в систему. Я использую Mikrotik с RouterOS 6.27. Я создал hotspot, а затем добавил RegExp в DNS, например

. * = HOTSPOT_IP_ADDRESS

Он отлично работает в Windows и iOS, поскольку их обнаружение в блоке портала основано на получении ответа от какого-либо веб-сайта. Афайк - любой ответ. Но для Android это должен быть какой-то особый ответ с пустым содержимым или кодом состояния 204 - я все еще не уверен.

Я попытался подражать страницам Google, которые дали 204 или пустой ответ, и перенаправлял мой сервер с помощью этих страниц эмуляции, но это не помогло Android показать уведомление.

Так что мне нужна помощь, чтобы сделать объявление в виде портативного портала в Android без Интернета.

Спасибо.

Ответ 1

Каждый раз, когда ваш телефон связывается с AP, он отправляет первоначальный запрос тестового URL-адреса. Это особенность Android, чтобы обнаружить, что она заперта в ловушку и предложить взять пользователя на страницу всплеска, чтобы пользователь мог войти в систему и выйти из ловушки.

Просто убедитесь, что файл тестового URL-адреса Android разрешен для обхода огороженного сада.

Для справки, по умолчанию тестовые URL-адреса Android 4.0.1 AOSP http://clients3.google.com/generate_204, который всегда возвращает код ответа 204. Даже если DNS помешали, так как в этом случае вместо ожидаемого 204 будет возвращен код 200.

Кроме того, есть некоторые варианты с извлечением http://www.google.com/blank.html, который вернет код 200 с телом ответа нулевой длины. Поэтому, если вы получите непустое тело, это будет другим способом выяснить, что вы находитесь за огороженным садом.