2013-09-22 7 views
17

Ich habe einen Fehler mit HTprequest, was manchmal passiert, also würde ich gerne den Inhalt der HttpGet und HttpPost Anfrage protokollieren, wenn das passiert. SoWie drucke ich den Inhalt der HTprequest Anfrage?

, sagen wir mal, ich schaffe HttpGet wie folgt aus:

HttpGet g = new HttpGet(); 
g.setURI(new URI("http://www.google.com")); 
g.setHeader("test", "hell yeah"); 

Dies ist die String-Darstellung, die Ich mag würde bekommen:

GET/HTTP/1.1 
Host: www.google.com 
test: hell yeah 

Mit der Post-Anforderung, würde ich möchte auch die Inhaltszeichenfolge abrufen.

Was ist der einfachste Weg, es in Java für Android zu tun?

Antwort

52

Sie können die Anfrage Typ drucken mit:

request.getMethod(); 

Sie alle Header hier wie erwähnt ausdrucken:

Enumeration<String> headerNames = request.getHeaderNames(); 
while(headerNames.hasMoreElements()) { 
    String headerName = headerNames.nextElement(); 
    System.out.println("Header Name - " + headerName + ", Value - " + request.getHeader(headerName)); 
} 

alle Anfrage params drucken möchten, verwenden Sie diese:

Enumeration<String> params = request.getParameterNames(); 
while(params.hasMoreElements()){ 
String paramName = params.nextElement(); 
System.out.println("Parameter Name - "+paramName+", Value - "+request.getParameter(paramName)); 
} 

request ist die Instanz HttpServletRequest

Sie können die Ausgänge nach Ihren Bedürfnissen verschönern.

+2

Tipp: Geben Sie auch den Typ der 'Enumeration' an (* z. B. *' Enumeration '), um unerwünschte IDE-Fehler zu vermeiden und Generika richtig zu verwenden. –

+0

Das Hinzufügen von 'Enumeration ' macht die Umwandlung in String überflüssig. –

+0

Oder vielleicht Enumeration