2013-10-27 52 views
2

我想實現以下:調用getResponseCode拋出IOException

  1. 開個帖子的連接。
  2. 閱讀迴應代碼。
  3. 撰寫內容。
  4. 閱讀迴應代碼。

第二步拋出了以下異常:

Caused by: java.io.IOException: content-length promised 345286 bytes, but received 0 

據我所知,「getResponseCode」將關閉寫流,但我需要找到如何讀取響應代碼的方式其實之前寫任何東西。由於(例如)401代碼,我想跳過將內容寫入請求主體(100 MB)的過程。

回答

1

HTTP無法正常工作。您需要發送完整的請求,然後才能閱讀響應代碼。在你的情況下,你的回覆已經答應了一個345286字節的請求體,但是你什麼也沒有發送。

正確的方法是做到以下幾點:

  1. 開個帖子的連接。
  2. 撰寫內容。
  3. 閱讀迴應代碼。

如果您想驗證服務器是否允許這樣做(爲了避免401s),您可以首先添加一個小的GET請求來驗證身份驗證。

+0

我很害怕這個。感謝您的反饋。 – Cativail

相關問題