2013-04-03 60 views
0

我正在從基於REST的Web服務獲取數據,以XML格式輸出數據。 由於我使用的是DOM,後來使用DocumentBuilder將其解析爲doc,如果有任何錯誤,我無法獲得服務器的HTTP Status Code如何使用DOM檢查返回的服務器代碼?

那麼,是否有可能返回HTTP Status Code

這裏是一個小片段:

url = "MY_URL"; 
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
Document doc = dBuilder.parse(new InputSource(url.openStream())); 
doc.getDocumentElement().normalize(); 

任何意見是非常可觀的。
謝謝

+0

你是什麼意思由***返回服務器代碼做***? –

+0

我的不好。這是'響應代碼':D – beerBear

+1

這是非常明顯的...... 200,404 ... http://stackoverflow.com/questions/6467848/how-to-get-http-response-code-for-a-url -in-java – Selvin

回答

3

你應該做在你的代碼有點改變這樣做:

URL url = new URL("MY_URL"); 
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
HttpURLConnection connection = (HttpURLConnection)url.openConnection(); 
Document doc = dBuilder.parse(new InputSource(connection.getInputStream())); 
doc.getDocumentElement().normalize(); 
int code = connection.getResponseCode(); 
+0

Selvin在評論中指出了完全相同的內容......但是因爲您是第一個將它作爲「答案」放在此處的人。 +1:D – beerBear

1

如果發生某種問題,url.openStream()將拋出IOException指示錯誤。檢查異常消息/原因以獲取錯誤的詳細信息。

+0

這本來是不可行的。不得不改變這麼幾行:|無論如何謝謝+1:D – beerBear

相關問題