Я пытаюсь сканировать некоторые ссылки mediafire и сталкиваюсь с проблемой слишком большого количества перенаправлений, которые я тщательно искал в Интернете, но проблема, с которой я столкнулся, заключается в том, что некоторые URL-адреса не получают ошибку «Слишком много перенаправлений», в то время как некоторые из них Не могли бы вы помочь мне в том, что я делаю неправильно?
try{
String url = "http://www.mediafire.com/file/110n342iorl685e/Guns-n%27-Roses_Paradise-City-TS_v1_2_DD_p.psarc";
Document doc3 = Jsoup.connect(url).userAgent("Mozilla/5.0").timeout(0).get();
for (Element sub3childrow : doc3.select("div.download_link")) {
String link=sub3childrow.select("a").attr("href");
System.out.println(link);
}
}catch(Exception ex){
ex.printStackTrace();
}
А это трассировка стека:
java.io.IOException: Too many redirects occurred trying to load URL http://www.mediafire.com/file/110n342iorl685e/Guns-n%2527-Roses_Paradise-City-TS_v1_2_DD_p.psarc
at org.jsoup.helper.HttpConnection$Response.<init>(HttpConnection.java:623)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:656)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:676)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:628)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:260)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:249)
at custom_file_downloader.RedirectExample.main(RedirectExample.java:23)
Я пытался установить followRedirects (true) и наоборот, но это все равно не помогает. Можете ли вы помочь мне в этом вопросе?
Я попробовал и узнал, что он снова и снова посещает один и тот же URL. Не могли бы вы сообщить мне, почему он это делает, потому что если вы откроете ссылку в браузере, она отлично работает @AbhishekPandey
Привет, я не могу объяснить вам, где именно вы получаете исключение, лучше вставьте полный фрагмент кода, а также поделитесь трассировкой стека исключений. Обратите внимание, что для меня с версией 1.8.3 org.jsoup я могу видеть тело объекта документа без исключения перенаправления для общего URL.
Я обновил вопрос, который вы можете посмотреть, и использую версию 1.10.2 org.jsoup @AbhishekPandey
Я обновил свой ответ в ответ, попробуйте с обновленной версией, он будет работать.
Возникла проблема с версией 1.10.2 jar-файла org.jsoup. Сообщение фиксации исправления ошибки цитирования.
- Bugfix: In Jsoup.Connection, if a redirect contained a query string with %xx escapes, they would be double escaped before the redirect was followed, leading to fetching an incorrect location.
Прочтите этот https://github.com/jhy/jsoup/issues/826, чтобы узнать больше. Позже проблема была решена в версии 1.10.3. Так что просто обновите версию и попробуйте еще раз.
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.3</version>
</dependency>
Вы получите результат с указанной выше зависимостью.
Почему бы вам не проверить, перенаправляет ли первый URL-адрес или нет, а затем получить правильный URL-адрес документа? Например, обратитесь к этому mkyong.com/java/jsoup-check-redirect-url