2012-05-31 59 views

回答

20

您可以設置爲Apache的HttpClient(例如用於測試4.3.2)一些環境變量。

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.org.apache.http.wire", "DEBUG"); 

也有用於調試的一些變量:

System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.impl.conn", "DEBUG"); 
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.impl.client", "DEBUG"); 
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.client", "DEBUG"); 
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "DEBUG"); 
+2

對於更多日誌選項取決於您的環境,請參閱https://hc.apache.org/httpcomponents-client-ga/logging.html – vinksharma

+0

@Eran Medan如果您想爲特定目的執行此操作,還有HttpRequestInterceptor請求 –

-3

試試這個:

HttpClient client = new HttpClient(); 
PostMethod method = new PostMethod(url); 

method.setParameter(...., ....); 

檢索URI

System.out.println("getUri: " + method.getURI()); 

來檢索POST參數

method.getRequestEntity().writeRequest(System.out); 
+1

System.out不會被鼓勵進行日誌記錄 –

+1

我喜歡這個例子,因爲'method.getRequestEntity()。writeRequest'幫助我打印出請求。 – GameScripting

0
org.apache.http.client.fluent.Request#viaProxy 

這種方法可以讓你的要求通過代理服務器,那麼你可以啓動一個本地代理服務器,例如提琴手,所以這個調試代理可以顯示HTTP請求和響應的細節。

相關問題