2012-09-11 4 views

risposta

7

Da un'altra risposta su StackOverflow. Questo può essere fatto facilmente consentendo la registrazione di debug per il client HTTP Apache:

java.util.logging.Logger.getLogger("org.apache.http.wire").setLevel(java.util.logging.Level.FINEST); 
java.util.logging.Logger.getLogger("org.apache.http.headers").setLevel(java.util.logging.Level.FINEST); 

System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog"); 
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true"); 
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug"); 
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug"); 
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug"); 
+0

Ho inserito questo codice, ma non ottengo alcun registro aggiuntivo da questo. C'è qualcos'altro che devo fare che funzioni. – Radon8472

+0

Dovremmo metterlo in una proprietà gradle? T____T – Isabelle

0

Quando si esegue la richiesta si sta passando da qualche parte HttpRequest oggetto. Ha metodo getAllHeaders()

5

Ecco un esempio di codice:

import java.util.Arrays; 
    import org.apache.http.Header; 
    import org.apache.http.HttpResponse; 
    import org.apache.http.client.HttpClient; 
    import org.apache.http.client.methods.HttpGet; 
    ... 
    HttpResponse response; 
    ... 
    HttpGet httpGet = new HttpGet(serviceURL); 
    response = httpclient.execute(httpGet); 
    ... 
    // Print all headers 
    List<Header> httpHeaders = Arrays.asList(response.getAllHeaders());   
    for (Header header : httpHeaders) { 
     System.out.println("Headers.. name,value:"+header.getName() + "," + header.getValue()); 
    } 
0

Se si utilizza Logback come quadro di registrazione, aggiungere il seguente la configurazione al tuo logback.xml/logback-test.xml del file:

<?xml version="1.0" encoding="UTF-8"?> 

<configuration scan="true"> 

    <!-- more config --> 

    <logger name="org.apache.http" level="DEBUG"/> 

    <!-- more config --> 

</configuration> 

Dopo aver aggiunto questa configurazione, Logback di log appenders ora mostrerà utili informazioni relative a HttpClient sulle intestazioni di richieste e risposte HTTP, tra le altre cose.