Ошибка HTTP 406 подключения jsoup

У меня есть программа на Java, которая до прошлой недели работала без проблем. Теперь я получаю ошибку HTTP 406 при попытке подключиться к веб-страницам. Ниже приведен код:

            Document doc1;              
            doc1 = Jsoup.connect(sChartLink).timeout(iTimeOut).get();

ITimeout установлен на 15000. Пример sChartLink - https://www.investing.com/equities/allianz-ag

Я также использую потоки для этой программы, чтобы я мог запускать несколько процессов в течение заданного времени.

Любая помощь будет принята с благодарностью

Эдди Рэй

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
432
2

Ответы 2

406 Not Acceptable - это код состояния ответа HTTP, указывающий, что клиент запросил ответ, используя заголовки Accept-, которые сервер не может выполнить. Обычно это является результатом того, что пользовательский агент (то есть браузер) указывает допустимый набор символов (через Accept-Charset), язык (через Accept-Language) и т. д., На которые следует ответить, и сервер не может предоставить такие ответ. Поэтому вам следует изменить заголовок запроса и повторить попытку.

Итак, как мне изменить приведенное выше утверждение?

EddiRae 10.08.2018 18:18

Я добавил поле UserAgent к соединению для JSoup, но я все еще получаю эту ошибку ... String ua = "Mozilla / 4.0 (совместимый; MSIE 6.0; Windows NT 5.0)"; doc2 = Jsoup.connect (sPPChartLink) .timeout (0) .userAgent (ua) .get (); Не могли бы вы посоветовать, что еще попробовать?

EddiRae 10.08.2018 20:29

1. Попробуйте получить сетевой пакет, например установите WIRESHARK, чтобы получить данные об отправке / получении, затем сравните пакет с обычным. 2, вы можете обратиться за помощью к поставщику услуг.

John.Chen 13.08.2018 02:43

Я не думаю, что здесь проблема в вашем коде. Я считаю, что Investing.com поймет, что вы пытаетесь добыть их данные, и начнет возвращать HTTP 406.

Другие вопросы по теме