Предполагая, что вы хотите просматривать веб-сайт, используя указанные учетные данные, я бы предложил вам войти в систему с обычного браузера.Скопируйте файлы cookie, сгенерированные веб-сайтом, и добавьте их в экземпляр CookieStore.
BasicCookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie1 = new BasicClientCookie("__gads", "ID=958b183c83ede6e8:T=1539776783:S=ALNI_MbFRRpTafZvTiJAjKmTB9oBQelWWw");
cookie1 .setDomain(".metalbulletin.com");
cookie1 .setPath("/");
BasicClientCookie cookie2 = new BasicClientCookie("__utma", "167598498.350699797.1539776871.1539776871.1539776871.1");
cookie2 .setDomain(".metalbulletin.com");
cookie2 .setPath("/");
....
cookieStore.addCookie(cookie1);
cookieStore.addCookie(cookie2);
....
Затем используйте хранилище cookie при создании пула соединений.
PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager();
connManager.setMaxTotal(256);
connManager.setDefaultMaxPerRoute(64);
ConnectionKeepAliveStrategy myStrategy = new DefaultConnectionKeepAliveStrategy();
CloseableHttpClient closeableHttpClient = HttpClientBuilder.create()
.setDefaultCookieStore(getCookieStore())
.setDefaultRequestConfig(RequestConfig.custom()
.setCookieSpec(CookieSpecs.STANDARD).build())
.setConnectionManager(connManager).setKeepAliveStrategy(myStrategy).build();
Потому что в любом случае, если вы хотитевойти на сайт.Тогда вам нужен способ обработки файлов cookie и токенов.Таким образом, магазин cookie будет обрабатывать файлы cookie.Вам просто нужно позвонить на веб-сайт с помощью http-клиента и проанализировать возвращенный HTML-файл с помощью jsoup.
Редактировать : выполните следующие действия:
- Войдите в систему, используя ваш браузер.
- Создайте BasicCookieStore, который содержит все файлы cookie, сохраненные браузером.Вы можете использовать консоль разработчика и отслеживать, какие cookie-файлы меняются каждый раз, когда вы перемещаетесь по сайту, и таким образом выяснять наиболее важные из них.Но, чтобы остаться в безопасности, добавьте их все.
- Создайте HttpClientManager и добавьте в него cookieStore.
- Теперь вы можете войти в систему и начать вызывать страницы, которые нужно почистить.Просто сделайте запрос get, используя сгенерированный вами пул клиентов.например: на страницу "https://www.metalbulletin.com/Article/3838710/Home/CHINA-REBAR-Domestic-prices-recover-after-trading-pick-up.html"
- Если все сделано правильно, запрос должен вернуть источник HTML-страницы.
- Используйте Jsoup.parse (stringHtml) для преобразования строкового ответа в объект Document..
- Разобрать ответ и извлечь нужные элементы.
- Сделать еще один запрос .. получить ответ в виде строки .. Разобрать html с jsoup .. repeat.
Удачи.