HttpUrlConnection установить заголовок запроса

Недавно я начал учиться писать веб-сканер, ссылаясь на код других людей, одна часть кода связана с загрузкой страницы URL-адреса http целевого веб-сайта, поэтому он использовал модуль HttpUrlConnection, однако я не могу понять следующий код после попытки так сложно , может кто предоставьте мне фундаментальный справочный материал, чтобы я понял это, или просто объясните мне?

connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("charset", encoding);
connection.setRequestMethod("GET");
connection.setConnectTimeout( 100000 );
connection.setReadTimeout( 100000 );
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)");

первый, не знаю почему соединение = (HttpURLConnection) url.openConnection () пишет так, обычно пишем Подключение HttpURLConnection = новый HttpURLConnection (), я имею в виду, что мы создаем объект таким образом;
следующий Я имею в виду, что я знаю этот синтаксис набора, все дело в настройке заголовка запроса клиента, но я просто не знаю, для чего используются эти синтаксисы набора? почему они установлены на эти значения, а не на другие значения?

Я прочитал соответствующую главу Core Java Volume 2, но он не может ответить на мой вопрос, я много искал в Google, но просто не могу найти объяснения по поводу этих синтаксисов набора, любая помощь будет оценена, спасибо ~

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
4 831
1

Ответы 1

Метод openConnection класса URL в Java возвращает URLConnection, который можно преобразовать в HttpURLConnection заранее. Он нужен вам для установки других обязательных полей HTTP-запроса, например, для установки метода запроса (GET, PUT, POST). Это самое важное поле вашего запроса. Вы должны решить, исходя из того, что вы запрашиваете, и откуда вы запрашиваете. значения тайм-аута чтения и соединения, с которыми вы можете поиграть, обычно используются в случае, когда запрос не возвращает ответ из-за проблем с интернет-соединением на стороне сервера или на стороне клиента. Наконец, часто используемый метод setRequestProperty устанавливает заголовки для вашего запроса.

con.setRequestProperty("Content-Type", "application/json");

широко используется. Чтобы определить тип содержимого ответа, сначала вызовите getHeaderField:

String contentType = con.getHeaderField("Content-Type");

Примечание. Если ваш запрос требует дополнительных параметров, вы должны поместить их на карту и вывести в свой запрос.

спасибо @ golyadkin, это очень четкое объяснение, я также нашел это видео: youtube.com/watch?v=PUPDGbnpSjw, это помогло мне понять, как клиент и веб-сервер взаимодействуют друг с другом, и основную теорию протокола http на уровне непрофессионала, просто для кого-то еще.

gloria xie 09.08.2018 10:36

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