Maison > Article > développement back-end > Pourquoi mon application Android reçoit-elle du HTML au lieu de JSON lors de l'accès à un serveur ByetHost ?
Le serveur ByetHost transmet les valeurs HTML « Vérification de votre navigateur » avec la chaîne JSON : problème d'application Android
Problème :
Lors de l'analyse des chaînes JSON dans une application Android, des valeurs HTML sont transmises. Ce problème se produit lors de l'accès à un serveur ByetHost avec des fichiers PHP, mais pas avec d'autres serveurs.
Solution :
ByetHost utilise un module de sécurité appelé testcookie-nginx-module qui ajoute une couche supplémentaire de validation pour les requêtes HTTP. Ce module suit un processus en deux étapes :
Implémentation de l'application Android :
Pour résoudre le problème dans l'application Android, suivez ces étapes :
<code class="java">try { if (post == "POST") { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(loginUrl); httpPost.setEntity(new UrlEncodedFormEntity(para)); httpPost.setHeader("User-Agent", "Mozilla/5.0 ..."); httpPost.addHeader("Cookie", "__test=" + cookieContent + "; expires=" + cookieExpires + "; path=" + cookiePath); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } else if (post == "GET") { HttpClient httpClient = new DefaultHttpClient(); String paramString = URLEncodedUtils.format(para, "utf-8"); loginUrl += "?" + paramString; HttpGet httpGet = new HttpGet(loginUrl); httpGet.addHeader("Cookie", "__test=" + cookieContent + "; expires=" + cookieExpires + "; path=" + cookiePath); HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } }</code>
Remarque : Remplacez cookieContent, cookieExpires et cookiePath par les valeurs que vous avez obtenues à partir du navigateur.
Cette modification garantira que votre application Android envoie le cookie de validation à chaque requête HTTP, contournant la redirection HTML initiale et lui permettant de récupérer les données JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!