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