Maison > développement back-end > tutoriel php > Pourquoi mon application Android reçoit-elle du HTML au lieu du JSON d'un serveur ByetHost ?

Pourquoi mon application Android reçoit-elle du HTML au lieu du JSON d'un serveur ByetHost ?

Mary-Kate Olsen
Libérer: 2024-10-28 05:16:02
original
322 Les gens l'ont consulté

Why is My Android App Receiving HTML Instead of JSON from a ByetHost Server?

Le serveur ByetHost transmet les valeurs HTML "Vérification de votre navigateur" avec la chaîne JSON

Problème
Lorsque vous essayez de analysez une chaîne JSON sur Android, les valeurs HTML sont renvoyées à la place. Ce problème soudain affecte toutes les pages hébergées sur le serveur ByetHost, tandis que les pages hébergées sur d'autres serveurs fonctionnent correctement.

Solution

Le problème survient en raison du fait que le serveur ByetHost implémente le mesure anti-bot de sécurité testcookie-nginx-module. Ce module effectue un processus de validation en deux étapes :

  1. Pour la première requête HTTP, le module renvoie un extrait de code JavaScript au lieu de la réponse JSON attendue. Cet extrait génère un cookie de validation contenant une clé AES côté client.
  2. Les requêtes HTTP ultérieures avec le cookie généré permettent d'accéder à la réponse JSON souhaitée.

Étapes pour résoudre le problème pour les applications Android

  1. Obtenez la clé de cookie à partir d'un navigateur Web :

    • Accédez à l'URL ByetHost dans un navigateur Web.
    • Vérifiez les paramètres des cookies du navigateur et notez le cookie « __test ».
    • Copiez les valeurs de « contenu », « chemin » et « expire » à partir du fichier « __test ». " cookie.
  2. Définissez le Cookie sur l'application Android :

Dans le code de requête HTTP de votre application, ajoutez un en-tête ci-dessous pour inclure le cookie "__test" :

<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>
Copier après la connexion

Remplacez "THE_CONTENT_OF_YOUR_COOKIE_HERE" par la valeur "content" obtenue à l'étape 1.

Avec ces modifications, l'application Android inclura le " Cookie __test" dans ses requêtes HTTP, lui permettant d'accéder aux réponses JSON souhaitées depuis le serveur ByetHost.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal