Comme indiqué aquí depuis Android 5, lorsque l'appareil se connecte. réseau Wi-Fi, il fait une requête HTTP rapide pour vérifier s'il a accès à Internet.
Cette vérification est, par exemple, effectuée avec clients3.google.com/generate_204
une "page web" qui renvoie toujours un code d'état HTTP 204 No Content| . Thus, if the device receives a
204` il est connecté à l'internet, sinon il suppose que cette réseau ne fournit pas un accès Internet correct ou qu'il s'agit simplement d'un portail captif.
La solution la plus probable est de désactiver la détection des portails captifs, et il existe plusieurs façons d'y parvenir :
-
Utilisation d'AdAway pour empêcher la fuite HTTP (blocage de l'URL)
- Configuration d'AdAway qui bloque la détection du portail captif de Google.
# captive portal
127.0.0.1 clients3.google.com
127.0.0.1 clients.l.google.com
- Désactiver la détection du portail captif
Avec un téléphone rooté, vous pouvez simplement désactiver la détection du portail captif. Il suffit d'obtenir un Root-shell via adb (ou SSH etc) pour exécuter la commande suivante :
settings put global captive_portal_detection_enabled 0
Voir également cette question connexe : Comment désactiver la détection du portail captif ? Comment supprimer le point d'exclamation sur l'icône Wi-Fi ou de signal dans Lollipop ?
-
Changer le serveur pour la détection du portail captif en utilisant AdAway
Une autre option pour modifier le serveur de détection du portail captif consiste à changer son adresse IP pour une adresse sous votre contrôle.
Vous pouvez le faire avec AdAway, par exemple. Disons que votre serveur de détection de portail captif a pour adresse IP 5.189.140.231
vous pouvez ajouter les éléments suivants à votre configuration AdAway :
5.189.140.231 clients3.google.com
5.189.140.231 clients.l.google.com
Le serveur web à 5.189.140.231
devrait alors bien sûr accepter les demandes pour les domaines étrangers.
Pour d'autres solutions de contournement, voir aquí