ByetHost-Server übergibt HTML-Werte „Überprüfen Ihres Browsers“ mit JSON-Zeichenfolge: Android-App-Problem
Problem:
Beim Parsen von JSON-Strings in einer Android-App werden HTML-Werte übergeben. Dieses Problem tritt auf, wenn mit PHP-Dateien auf einen ByetHost-Server zugegriffen wird, jedoch nicht auf andere Server.
Lösung:
ByetHost verwendet ein Sicherheitsmodul namens testcookie-nginx-module, das hinzufügt eine zusätzliche Validierungsebene für HTTP-Anfragen. Dieses Modul folgt einem zweistufigen Prozess:
Android-App-Implementierung:
Um das Problem in der Android-App zu beheben, folgen Sie diesen Schritten:
<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>
Hinweis: Ersetzen Sie cookieContent, cookieExpires und cookiePath durch die Werte, die Sie vom Browser erhalten haben.
Diese Änderung stellt sicher, dass Ihre Android-App sendet das Validierungscookie bei jeder HTTP-Anfrage, umgeht die anfängliche HTML-Umleitung und ermöglicht den Abruf der JSON-Daten.
Das obige ist der detaillierte Inhalt vonWarum empfängt meine Android-App beim Zugriff auf einen ByetHost-Server HTML statt JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!