事は:私はウェブクローラーフレームワークと、このフレームワークを実装する独立したモジュールを持っています。これらのモジュールはすべて、ニュース固有のWebサイトからのニュースをキャプチャします。
フレームワークには、IOExceptionとSocketTimeoutExceptionの2つの予測できないエラーがあります。明らかな理由で(Webサイトがオフラインであるか、メンテナンス中の可能性があります)
特定のWebサイト(これ)では、常にランダムなIOExceptionが発生します。予測してみましたが、なぜこのエラーが発生するのかわかりません。
私はそれがテスト段階の間に要求でそれを爆撃したことからだと思いました。別の要求を送信せずに2、3日経ってもエラーが発生するため、そうではありません。
一言で言えば:サイトは認証を必要とせず、ランダムに403をスローします。ランダムに
403は複数の異なるエラーになる可能性があるため、アプリケーションの特定の問題を確認したいと思います。
403 it iを取得できれば、回避することができます。(403.1、403.2、...、403.n)
//If you guys want the code, it's a basic Jsoup get.
//(I have also tried it with native API,
//and still get the same random 403 errors)
//Note that I also tried it with no redirection, and still get the error
Document doc = Jsoup
.connect("http://www.agoramt.com.br/")
.timeout(60000)
.followRedirects(true)
.get();
//You may criticize about the code. But this specific line is the one
//that throws the error. And it doesn't randomly do that to other 3k
//site connections. That's why I want to get the specifics from the 403