2010-09-20 47 views
0

我真的使用類HttpURLConnection的這種方式時:得到0使用HttpURLConnection.getResponseCode()

HttpURLConnection con=(HttpURLConnection) servlet.openConnection(); 
int conResponseCode = con.getResponseCode(); 

有時候,我真的越來越conResponseCode爲。

我試圖在網上看,並找不到它是什麼意思?

任何想法爲什麼它occours?以及它聲明的是什麼?

謝謝, 射線。

+0

這是完整的代碼?在任何類型的try-catch塊中進行連接? – 2010-09-20 16:39:56

+0

是的,連接的建立在try-catch塊內。 – rayman 2010-09-21 07:18:10

回答

0

這不是一個有效的HTTP響應,所以它本身並不意味着什麼。

看看java.net.HttpURLConnection(這是我認爲你的意思)的來源,它似乎只是從整個響應行解析整數狀態碼。這似乎意味着遠程服務器返回沿着線的響應:

HTTP/1.0 0 XXX

(其中XXX是某種原因)。

如果您使用telnet(或類似程序)自己發出請求,或者可以在調試器中放置Java源的斷點,則在此情況下,您將能夠看到從遠程服務器發回的內容。無論哪種方式,這都是Java庫中的一個錯誤(可能,但不太可能)或來自遠程服務器的奇怪響應。獲取響應的原始內容將允許您區分這兩者,然後使用錯誤報告來ping相關方。

+0

我不能在調試器中發現問題,因爲它隨機發生。任何想法我怎麼能夠捕捉概率?謝謝 – rayman 2010-09-20 16:48:07

+0

調試器中的條件斷點只會讓你在返回值爲零時觸發它。如果您有任何問題重現*,那完全是另一回事。 – 2010-09-20 17:19:17

+0

因此,我無法通過代碼查看錯誤的詳細信息? – rayman 2010-09-21 07:38:03