Я пытаюсь немного улучшить Java Html Document, но у меня проблемы с HttpUrlConntion
. Одно дело, что некоторые серверы блокируют запрос, если пользовательский агент является виртуальной машиной Java. Другая проблема заключается в том, что HttpUrlConnection
не устанавливает поле заголовка Referrer
или Location
. Поскольку несколько сайтов используют эти поля для проверки доступа к контенту со своего сайта, я также заблокирован здесь. Насколько я вижу, единственная резолюция заключается в замене обработчика URL-адреса протокола HTTP. Или есть способ изменить обработчик HTTP по умолчанию?
Как изменить заголовок HttpUrlConnection
Ответ 1
Откройте URL
с помощью URL.openConnection
. При желании можно наложить на HttpURLConnection
. Вызовите URLConnection.setRequestProperty
/addRequestProperty
.
Значение заголовка User-Agent по умолчанию устанавливается из свойства системы "http.agent"
. PlugIn и WebStart позволяют установить это свойство.
Ответ 2
Если вы используете Apache HttpClient для управления вашим программным HTTP-подключением, вы получаете чрезвычайно полезный API, который позволяет создавать соединения (и, подключение к сбою), установка заголовков, сообщений и получение, удобные методы для извлечения возвращаемого содержимого и многое другое.
Ответ 3
Я решил свою проблему. Мы можем просто отправить заголовок в application/json и передать тело как объект json. Это просто решает проблему.