Ошибка HTTP при получении URL. Статус = 403 с помощью jsoup - PullRequest
1 голос
/ 02 марта 2020

Я создал программу, которая использует jsoup для получения некоторых данных с сервера. Он обращается к различным веб-сайтам на сервере, около 400. Он делает это примерно за 2 минуты.

Вот три примера примерно 400 веб-сайтов, с которых я получаю данные:

https://www.futbin.com/20/playerGraph?type=today&year=20&player=248449&set_id=
https://www.futbin.com/20/playerGraph?type=today&year=20&player=237073&set_id=
https://www.futbin.com/20/playerGraph?type=today&year=20&player=247303&set_id=

Когда Я разработал программу, я только заходил на 3-4 веб-сайта при каждом запуске, чтобы протестировать ее. Работало нормально. После завершения программы, я сделал ее доступ ко всем около 400 во время каждого запуска. После запуска несколько раз он вдруг перестал работать. Я получаю следующую ошибку:

org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL=https://www.futbin.com/20/playerGraph?type=today&year=20&player=248449&set_id=

Мой IP заблокирован? Это только в IntelliJ, потому что, если я захожу на сайты в Chrome, у меня нет проблем с доступом к нему. Кроме того, когда я запускаю программу в IntelliJ, используя inte rnet моего телефона вместо моего Wi-Fi, он также работает нормально.

Так что, похоже, мой IP не забанен, так как я могу получить к ним доступ через Chrome. Но почему-то они все же обнаруживают, что это с моего IP, так как программа работает только при использовании другого IP.

Я пробовал .userAgent ("Mozilla"), но он не работал.

Есть предложения?

РЕДАКТИРОВАТЬ Теперь, через день, я просто попытался снова запустить программу. Теперь я не получаю ошибку 403, и я могу получить данные со всех страниц. Некоторые сайты временно блокируют вас? И что делать, чтобы снова не забанить? Установить таймер?

1 Ответ

0 голосов
/ 02 марта 2020

О причине ошибки:

Если в запросе были указаны учетные данные для проверки подлинности, сервер считает их недостаточными для предоставления доступа. Клиент НЕ ДОЛЖЕН автоматически повторять запрос с теми же учетными данными. Клиент МОЖЕТ повторить запрос с новыми или другими учетными данными. Однако запрос может быть запрещен по причинам, не связанным с учетными данными.

(Источник Ошибка 403 )

Что нужно сделать:

Клиент МОЖЕТ повторить запрос с новыми или другими учетными данными.

...