1
(OAI)サーバーから受信したxmlを解析するためにSaxParserを使用しています。このxmlは別のxmlなどを取得するためにサーバーから私に別のリクエストを生成することができます。SaxParser.parseでレスポンスコードを捕捉する方法
これらの後続の要求をDoS攻撃として理解し、「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;
}
例外はXMLとして返され、解析しない限り、Web例外を「キャッチ」したい最後の場所です。 HTTPリクエストレベルで例外をキャッチしようとしましたか?ロジックは一般にHTTPレスポンスの行に沿って流れます!= 200 - >何かを処理してください。 Else - >応答を解析します。あなたは、HTTPレスポンスコードを調べることができるだけでなく、HTTPリクエストから返されたヘッダを調べるだけで、HTTPレスポンスコードをチェックできるはずです。 – FloppyDisk