Mit HttpGet Rücksendung komplette HTML-code
Ich versuche, rufen Sie einen privaten web-service, in der es einen link habe ich Zugriff über GET
Methode. Während über die direkte URL auf den browser (muss sich zunächst anmelden), bekomme ich die Daten im JSON-format. Die URL, die ich aufrufen wie diesem
http://www.example.com/trip/details/860720?format=json
Die url ist in Ordnung, aber wenn ich Sie aufrufen, mit HttpGet
ist, erhalte ich die HTML-Codierung der Webseite, anstelle der JSON-String. Der code, den ich verwende, ist wie folgt:
private String runURL(String src,int id) { //src="http://www.example.com/trip/details/"
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(src);
String responseBody="";
BasicHttpParams params=new BasicHttpParams();
params.setParameter("domain", token); //The access token I am getting after the Login
params.setParameter("format", "json");
params.setParameter("id", id);
try {
httpget.setParams(params);
HttpResponse response = httpclient.execute(httpget);
responseBody = EntityUtils.toString(response.getEntity());
Log.d("runURL", "response " + responseBody); //prints the complete HTML code of the web-page
} catch (Exception e) {
e.printStackTrace();
}
return responseBody;
}
Können Sie mir sagen, was mache ich hier falsch??
was ist der Inhalt, wenn Sie versuchen, den url mit dem browser oder curl
es ist ein json-string, wenn ich versuche, es aufrufen durch den browser, was ist, was es sein sollte, auf Android auch.
es ist ein json-string, wenn ich versuche, es aufrufen durch den browser, was ist, was es sein sollte, auf Android auch.
InformationsquelleAutor noob | 2012-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen angeben, Akzeptieren & Content-Type im http-header:
Beachten Sie, dass Sie können verwenden Sie tools wie wireshark erfassen und analysieren der Einnahmen und Ergebnis des http-Pakets, und herauszufinden, die genaue Stil der http-header liefert, dass deine json-Antwort von einem standard-browser.
Update:
Sie haben erwähnt, müssen sich zunächst anmelden, wenn Sie über einen browser, der den html-Inhalt zurückgesendet wird wahrscheinlich die login-Seite (wenn Sie die Standardauthentifizierung verwenden, geben Sie, gibt es eine kurze html-Antwort mit dem status-code 401, mit so einem modernen browser weiß, wie zu handhaben, insbesondere, pop-up-login-prompt auf user), so dass der erste Versuch wäre die überprüfung der status-code der http-Antwort:
Hängt davon ab, welche Art der Authentifizierung, der Typ, den Sie verwenden, werden Sie wahrscheinlich benötigen, geben Sie die Anmeldeinformationen in Ihrem http-Anforderung als gut, so etwas (wenn es eine basic-Authentifizierung):
siehe mein update.
habe ich versucht aber funktioniert nicht
InformationsquelleAutor yorkw