Подтвердить что ты не робот

Как изменить заголовок HttpUrlConnection

Я пытаюсь немного улучшить Java Html Document, но у меня проблемы с HttpUrlConntion. Одно дело, что некоторые серверы блокируют запрос, если пользовательский агент является виртуальной машиной Java. Другая проблема заключается в том, что HttpUrlConnection не устанавливает поле заголовка Referrer или Location. Поскольку несколько сайтов используют эти поля для проверки доступа к контенту со своего сайта, я также заблокирован здесь. Насколько я вижу, единственная резолюция заключается в замене обработчика URL-адреса протокола HTTP. Или есть способ изменить обработчик HTTP по умолчанию?

4b9b3361

Ответ 1

Откройте URL с помощью URL.openConnection. При желании можно наложить на HttpURLConnection. Вызовите URLConnection.setRequestProperty/addRequestProperty.

Значение заголовка User-Agent по умолчанию устанавливается из свойства системы "http.agent". PlugIn и WebStart позволяют установить это свойство.

Ответ 2

Если вы используете Apache HttpClient для управления вашим программным HTTP-подключением, вы получаете чрезвычайно полезный API, который позволяет создавать соединения (и, подключение к сбою), установка заголовков, сообщений и получение, удобные методы для извлечения возвращаемого содержимого и многое другое.

Ответ 3

Я решил свою проблему. Мы можем просто отправить заголовок в application/json и передать тело как объект json. Это просто решает проблему.