Я пытаюсь немного улучшить 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. Это просто решает проблему.