Создает объект по адресу ресурса и заголовкам.
Синтаксис
Новый HTTPЗапрос(<АдресРесурса>, <Заголовки>)Полное описание, параметры и ограничения
HTTPЗапрос.По адресу ресурса и заголовкам
HTTPЗапрос (HTTPRequest)
По адресу ресурса и заголовкам
Доступен, начиная с версии 8.2.
Синтаксис:
Новый HTTPЗапрос(<АдресРесурса>, <Заголовки>)
Параметры:
<АдресРесурса> (обязательный)
Тип: Строка.
Адрес ресурса, к которому будет происходить HTTP-запрос.
Адрес указывается в виде строки, которая автоматически кодируется под требования стандарта RFC 3986, с учетом особенностей:
не кодируются разделители сегментов пути,
если адрес ресурса содержит символ "%", то считается, что после него указан код закодированного символа и повторно он не кодируется.
Недопустимые символы, не являющиеся специальными символами URI, будут автоматически кодированы.
Примеры:
Обращение к ресурсу по адресу "/example%segment":
/example%25segment
Обращение к ресурсу "/example#segment", содержащему символ "#", в качестве сегмента, а не разделителя сегмента пути:
/example%23segment
Обращение к ресурсу "/пример"("/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80"):
"/пример"
или
"/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80"
<Заголовки> (необязательный)
Тип: Соответствие.
Содержит заголовки в виде соответствия "Название заголовка" - "Значение".
Описание:
Создает объект по адресу ресурса и заголовкам.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Подготовить HTTP-запрос с JSON без отправки
Разделяем подготовку запроса и сетевую операцию: этот код ничего не отправляет.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Нет токенов, соединения и обращения к реальному API.
Адрес /api/items — учебный путь, не адрес Avito.
Тело состоит из JSON-совместимых значений.
Данные = Новый Структура("title,quantity", "Книга", 3);
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
Попытка
ЗаписатьJSON(Запись, Данные);
Исключение
Запись.Закрыть();
ВызватьИсключение;
КонецПопытки;
Тело = Запись.Закрыть();
ЗапросHTTP = Новый HTTPЗапрос("/api/items");
ЗапросHTTP.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
ЗапросHTTP.Заголовки.Вставить("Accept", "application/json");
ЗапросHTTP.УстановитьТелоИзСтроки(Тело, КодировкаТекста.UTF8);
Сообщить(ЗапросHTTP.АдресРесурса);
Сообщить(ЗапросHTTP.ПолучитьТелоКакСтроку());Разбор по шагам
Сериализуем структуру в строку JSON.
Создаём запрос с относительным путём и заголовками.
Передаём тело в UTF-8 и проверяем его чтением обратно.
Как проверить результат
АдресРесурса равен /api/items.
Прочитанное тело содержит title=Книга, quantity=3.
Ожидаемый результат
Подготовленный объект HTTPЗапрос с JSON в UTF-8; сеть не используется.
На что обратить внимание
Метод GET/POST выбирается при отправке через HTTPСоединение.
Не вставляйте секреты в учебные примеры или журнал сообщений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.