1
我正在使用SaxParser解析從OAI服務器接收的xml。這個XML可以從我生成另一個請求到服務器來獲得另一個XML等等。如何使用SaxParser.parse捕獲(http)響應代碼
某些服務器可以將這些後續請求理解爲拒絕服務攻擊並返回「HTTP響應代碼:503」。
如何獲取響應碼?
這裏是我使用的代碼:
try
{
InputSource is = new InputSource(uri);
is.setEncoding("UTF-8");
parser.parse(is, handler);
parsed = true;
}
catch (IOException ioException)
{
...here should happen the response code handling...
persistError("Error(IOException) in parsing: " + ioException.getMessage());
}
catch (SAXException saxException)
{
persistError("Error(SAXException) in parsing: " + saxException.getMessage());
// we do not retry to parse if the error is a parsing error
retry = RETRY_FETCH_URL + 1;
}
解析器是您希望「捕捉」web異常的最後一個地方,除非異常以XML格式返回並且您想解析它。您是否嘗試過在HTTP請求級別捕獲異常?邏輯通常按照HTTP響應!= 200 - >的方式進行處理。否則 - >解析響應。您應該可以通過查看HTTP請求返回的頭來檢查HTTP響應代碼,而不必將其解析出來。 – FloppyDisk 2012-03-12 11:41:13