Web サイトに関する情報を収集するためにCrawler4Jを使用しています。しかし、時々次のエラーが発生します。
情報: {someurl} のコンテンツを取得中に例外が発生しました [Content-Length で区切られたメッセージ本文が途中で終了しました (予想: X; 受信: Y]
(私には) X < Y の場合に発生するのか、それともその逆なのかは明確ではありません。
例外は、fetchContent の「fetcher.PageFetchResult.java」でスローされます (応答ヘッダーを取得するときに推測します)。
私の質問は次のとおりです。(一般的に) http content-length を無視して情報を取得する可能性はありますか?
私はすでにcrawler4jの問題を調べましたが、同様の問題はありません。
おそらく、stackoverflow コミュニティの誰かがこれを解決する方法を知っているでしょう。
どうもありがとうございました、
ひし
編集
この例外をスローするコード (スニペット):
public boolean fetchContent(Page page) {
try {
page.load(entity);
page.setFetchResponseHeaders(responseHeaders);
return true;
} catch (Exception e) {
logger.log(Level.INFO, "Exception while fetching content for: " + page.getWebURL().getURL() + " [" + e.getMessage()
+ "]");
}
return false;
}
responseHeaders とエンティティが null (デフォルト):
protected HttpEntity entity = null;
protected Header[] responseHeaders = null;