ByetHost-Server übergibt HTML-Werte „Überprüft Ihren Browser“ mit JSON-String
Problem
Beim Versuch Beim Parsen einer JSON-Zeichenfolge auf Android werden stattdessen HTML-Werte zurückgegeben. Dieses plötzliche Problem betrifft alle auf dem ByetHost-Server gehosteten Seiten, während auf anderen Servern gehostete Seiten ordnungsgemäß funktionieren.
Lösung
Das Problem entsteht dadurch, dass der ByetHost-Server das implementiert testcookie-nginx-module Sicherheits-Anti-Bot-Maßnahme. Dieses Modul führt einen zweistufigen Validierungsprozess durch:
Schritte um das Problem für Android-Apps zu beheben
Besorgen Sie sich den Cookie-Schlüssel von einem Webbrowser:
Fügen Sie im HTTP-Anforderungscode Ihrer App einen Header hinzu unten, um das „__test“-Cookie einzuschließen:
<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>
Ersetzen Sie „THE_CONTENT_OF_YOUR_COOKIE_HERE“ durch den in Schritt 1 erhaltenen „content“-Wert.
Mit diesen Änderungen enthält die Android-App das „ __test“-Cookie in seinen HTTP-Anfragen ein, was ihm den Zugriff auf die gewünschten JSON-Antworten vom ByetHost-Server ermöglicht.
Das obige ist der detaillierte Inhalt vonWarum empfängt meine Android-App HTML statt JSON von einem ByetHost-Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!