Todo sistema operacional para dispositivos móveis apenas verifica uma página da web para decidir se ela está ou não por trás de um portal cativo.
O mecanismo é este:
- GET / POST link
- Se bar.html == [conteúdo esperado] > Internet aberta
- Se bar.html! = [conteúdo esperado] > Portal cativo
- Se bar.html [status]! = SUCESSO > Nenhuma rede
Além disso, para iOS, você precisa ter um domínio para sua rede Wi-Fi, pois ela pressupõe que uma rede sem domínio sem acesso é uma rede doméstica e apenas a marca como Sem rede em vez de Captive Portal.
Apenas certifique-se de redirecionar explicitamente os URLs a seguir para seu portal cativo com sucesso HTTP:
Android / Chromebook:
- clients3.google.com
iOS 6:
- gsp1.apple.com
- *. akamaitechnologies.com
iOS 7:
- www.appleiphonecell.com
- www.airport.us
- *. apple.com.edgekey.net
- *. akamaiedge.net
- *. akamaitechnologies.com
iOS 8/9:
Windows
- ipv6.msftncsi.com
- www.msftncsi.com
Muitos fornecedores também começaram a usar o agente do usuário "CaptiveNetworkSupport", embora não seja tão comum quanto o método de URL acima. Basta verificar esse UA e sempre dar a sua página de portal ... não funciona 100% embora.
Eu uso o método de URL e ele está funcionando bem.