Задать вопрос

Как корректно получить Cookies в Java?

Здравствуйте! У меня есть код который исправно получает куки с сайта и сохраняет в файле, кода я запускаю его из среды разработки:
String url = "https://www.avito.ru";
Map<String, String> cookies = Jsoup.connect(url).execute().cookies();
                ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
                out.writeObject(cookies);
                System.out.println("Get cookies from: " + url + " and write into: " + file.getName());
                System.out.println(cookies);
                out.close();

Но когда я заливаю и запускаю его на сервере Heroku (только теперь куки временно храню в хендлере), мне в логах пишет ошибку.
Возникает она на шаге .execute()
Код залитый на хероку:
try {
                            Map <String, String> cookies = Jsoup.connect(url)
                                    .execute()
                                    .cookies();
                            cookieHandler.setAvitoCookies(cookies);
                            System.out.println("> AVITO COOKIE:" + cookies); 
                        } catch (IOException e) {
                            e.printStackTrace();
                        }


Лог ошибки с хероку:
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL=https://www.avito.ru

В чем проблема?
  • Вопрос задан
  • 626 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@protven
Проблема в вас. В логе вполне понятная ошибка. Погуглите что значит http 403 и подумайте почему сайт, который постоянно пытаются парсить вернул ее на запрос от вашего робота.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы