Maison  >  Article  >  développement back-end  >  Voici plusieurs titres anglais adaptés au contenu de l’article, présentés sous forme de questions et réponses : 1. Pourquoi mon application Android reçoit-elle des données HTML au lieu de JSON d'un serveur ByeHost ? 2. Comment puis-je corriger l'erreur « Vérification de votre navigateur » lors de la récupération des données JSON depuis

Voici plusieurs titres anglais adaptés au contenu de l’article, présentés sous forme de questions et réponses : 1. Pourquoi mon application Android reçoit-elle des données HTML au lieu de JSON d'un serveur ByeHost ? 2. Comment puis-je corriger l'erreur « Vérification de votre navigateur » lors de la récupération des données JSON depuis

Linda Hamilton
Linda Hamiltonoriginal
2024-10-28 12:04:55574parcourir

以下是几个适合文章内容的英文标题,以问答形式呈现:

1. Why is my Android app receiving HTML instead of JSON data from a ByeHost server?
2. How do I fix the

Le serveur ByeHost envoie des valeurs HTML "Vérification de votre navigateur" avec une chaîne JSON

Question :

Lorsque vous essayez d'analyser une chaîne JSON sur Android, les valeurs HTML sont transmises. Tout fonctionnait bien jusqu'à il y a un jour, mais tout à coup, en essayant d'obtenir la base de données à l'aide d'un fichier PHP, mon application a commencé à planter.

Quand j'ai vérifié, j'ai remarqué la valeur HTML, voir logcat.

Réponse :

La solution est :

  1. Ajouter un cookie à la requête HTTP :

ByeHost utilise un module de sécurité antibots appelé testcookie-nginx-module. Ce module effectue une vérification en deux étapes sur les requêtes HTTP :

Étape 1 : À la première requête, le module renvoie un JavaScript qui génère le cookie de vérification.

Étape 2 : Lors des demandes ultérieures, le client ajoutera le cookie d'authentification et le module vérifiera la clé AES du cookie et permettra à la demande de continuer.

  1. Récupérez la clé du cookie et ajoutez-la à la requête Android :
  • Utilisez un navigateur Web pour visiter l'URL une fois pour générer le biscuit.
  • Obtenez la valeur du cookie __test à partir du navigateur Web.
  • Dans les applications Android, ajoutez des en-têtes Cookie aux requêtes HTTP.
<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>

Avec ces étapes, l'application inclura des cookies pour passer la validation et les données JSON attendues pourront être récupérées.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn