ByeHost-Server sendet HTML-Werte „Überprüft Ihren Browser“ mit JSON-String
Frage:
Beim Versuch, eine JSON-Zeichenfolge an Android zu analysieren, werden HTML-Werte übergeben. Bis vor einem Tag funktionierte alles einwandfrei, aber als ich versuchte, die Datenbank mithilfe einer PHP-Datei abzurufen, stürzte meine Anwendung plötzlich ab.
Als ich nachgesehen habe, ist mir der HTML-Wert aufgefallen, siehe Logcat.
Antwort:
Die Lösung ist:
ByeHost verwendet ein Antibots-Sicherheitsmodul namens testcookie-nginx-module. Dieses Modul führt eine zweistufige Überprüfung bei HTTP-Anfragen durch:
Schritt 1: Bei der ersten Anfrage gibt das Modul ein JavaScript zurück, das das Überprüfungscookie generiert.
Schritt 2: Bei nachfolgenden Anfragen fügt der Client das Authentifizierungscookie hinzu und das Modul überprüft den Cookie-AES-Schlüssel und lässt die Fortsetzung der Anfrage zu.
<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>
Mit diesen Schritten fügt die Anwendung Cookies ein, um die Validierung zu bestehen und die erwarteten JSON-Daten können abgerufen werden.
Das obige ist der detaillierte Inhalt vonIm Folgenden sind mehrere englische Titel aufgeführt, die zum Inhalt des Artikels passen und im Frage-Antwort-Format präsentiert werden: 1. Warum empfängt meine Android-App HTML- statt JSON-Daten von einem ByeHost-Server? 2. Wie behebe ich den Fehler „Überprüfe deinen Browser' beim Abrufen von JSON-Daten von?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!