2013-09-22 17 views
17

Ho un bug che coinvolge httprequest, che a volte capita, quindi mi piacerebbe accedere al contenuto della richiesta HttpGet e HttpPost quando ciò accade.Come posso stampare il contenuto della richiesta httprequest?

Quindi, diciamo, creo HttpGet come questo:

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

Questa è la rappresentazione di stringa che mi piacerebbe ottenere:

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

Con la richiesta POST, mi piacerebbe piace anche ottenere la stringa del contenuto.

Qual è il modo più semplice per farlo in java per Android?

risposta

52

È possibile stampare il tipo di richiesta utilizzando:

request.getMethod(); 

È possibile stampare tutte le intestazioni come accennato qui:

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

Per stampare tutti i params richiesta, utilizzare questo:

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

request è l'istanza di HttpServletRequest

È possibile abbellire le uscite secondo le proprie necessità.

+2

Suggerimento: specificare anche il tipo di "Enumerazione" (* ad esempio * Enumerazione ) per evitare errori IDE indesiderati e utilizzare correttamente i generici. –

+0

L'aggiunta di 'Enumerazione ' rende inoltre non necessario il cast in stringa. –

+0

O forse Enumerazione