2013-09-22 27 views
17

Mam błąd związany z HTTPrequest, który zdarza się czasami, więc chciałbym zalogować się do treści żądania HttpGet i HttpPost, gdy tak się stanie.Jak wydrukować zawartość żądania HTTPrequest?

Więc powiedzmy, tworzę HttpGet tak:

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

Jest to reprezentacja ciąg, który chciałbym dostać:

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

Z żądanie post, ja również lubię uzyskać ciąg zawartości.

Jaki jest najprostszy sposób zrobić to w Javie dla Androida?

Odpowiedz

52

Można wydrukować typ zapytania przy użyciu:

request.getMethod(); 

Można wydrukować wszystkie nagłówki jak wspomniano tutaj:

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

Aby wydrukować wszystkie params żądania, użyj tego:

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

request to instancja HttpServletRequest

Możesz upiększyć wyniki zgodnie ze swoimi potrzebami.

+2

Wskazówka: określ również typ wyliczenia (* np * 'Enumeration '), aby uniknąć niepożądanych błędów IDE i prawidłowo używać generycznych. –

+0

Dodanie 'Enumeration ' również sprawia, że ​​rzutowanie na String jest niepotrzebne. –

+0

A może wyliczenie