2013-01-23 92 views
0

我正嘗試使用HttpURLConnection類的實例向遠程服務器發送HTTP POST請求。雖然我能夠獲得響應代碼和響應消息,但當我嘗試將輸入流寫入StringBuffer時,我無法真正讀取任何行。如何使用HttpURLConnection對象從遠程服務器獲取響應?

當我分析從WireShark發送的數據包時,我注意到正在從遠程服務器發送完整響應。我唯一的猜測是爲什麼我無法在Java程序中看到它,因爲我試圖從InputStream中讀取的時間太晚了。

那麼,我如何從遠程服務器使用我的HttpURLConnection對象讀取即時,完整響應?以下是我正在使用的代碼:

HttpURLConnection conn = null; 
String urlStr = "..."; 
URL url = null; 
try 
{ 
    url = new URL(urlStr); 
    conn = (HttpURLConnection) url.openConnection(); 
    conn.setRequestMethod("POST"); 
    conn.setDoInput(true); 
    conn.setDoOutput(true); 
... 
    BufferedReader rd = new BufferedReader(
       new InputStreamReader(conn.getInputStream())); 
    StringBuilder sb = new StringBuilder(); 
    String line; 
    while ((line = rd.readLine()) != null) 
    { 
     sb.append(line); 
    } 
    rd.close(); 
... 
}... 

回答

0

好的,沒關係。事實證明,我正在尋找的是HTTP Respone的頭文件。所以,我通過查看頭文件來獲得所需的內容。 :: Face Palm ::

相關問題