Я использую следующую версию htmlunit
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>htmlunit-driver</artifactId>
<version>2.33.3</version>
</dependency>
Что мой код делает
- Создание веб-клиента с версией браузера CHROME
- Получить вебзайдите на страницу и выполните вход в систему, используя html-форму
- , используя тот же клиент, получите другие веб-страницы и проанализируйте информацию
Это прекрасно работает, если я делаю это от 1 до 3 раз подряд, но после этого он получает следующую ошибку 403 для любой последующей попытки сделать то же самое.
mar 05, 2019 12:57:49 PM com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
INFO: statusCode=[403] contentType=[application/json]
mar 05, 2019 12:57:49 PM com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
INFO: {"error_description":"Access Denied","error_uri":"HTTP://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html","error":"Access Denied"}
mar 05, 2019 12:57:49 PM com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
INFO: statusCode=[403] contentType=[application/json]
mar 05, 2019 12:57:49 PM com.gargoylesoftware.htmlunit.WebClient printContentIfNecessary
INFO: {"error_description":"Access Denied","error_uri":"HTTP://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html","error":"Access Denied"}
java.nio.file.AccessDeniedException: Access Denied
Я попытался очистить куки клиента и закрыть клиент, чтобы повторить попытку, но он получает те же 403.
Однако, если я прекращаю выполнение программы и запускаю ее снова, она 3 раза ведет себя правильно и после этого начинает получать 403 секунды.
Я пытаюсь спать 3 минутыперед попыткой повторной попытки с новым клиентом и кажется, что он работает достаточно для успешного завершения повторной попытки, но следующая попытка получает 403 и должна снова ждать.
Я предполагаю, что сервер отрицает tОн получает доступ к нескольким сеансам, но я хочу знать, есть ли способ «очистить» среду и повторить попытку, аналогично тому, что происходит, когда вы останавливаете выполнение и снова запускаете программу.
С момента очисткикуки в cookieManager не работали. Я не знаю, что еще я мог бы попытаться смоделировать остановкой и запустить снова.