Тип: Соответствие. HTTP-заголовки ответа сервера в виде соответствия: "Название заголовка" - "Значение". При наличии в ответе нескольких одинаковых заголовков, они будут записаны в качестве значения свойства через запятую.
Полное описание, параметры и ограничения
HTTPОтвет.Заголовки (HTTPResponse.Headers)
HTTPОтвет (HTTPResponse)
Заголовки (Headers)
Доступен, начиная с версии 8.2.
Использование:
Только чтение.
Описание:
Тип: Соответствие.
HTTP-заголовки ответа сервера в виде соответствия: "Название заголовка" - "Значение".
При наличии в ответе нескольких одинаковых заголовков, они будут записаны в качестве значения свойства через запятую.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Описание изменено в версии 8.3.21.
Методическая информация
Практические примеры
Получить список товаров по HTTP и разобрать JSON
Настоящий GET к локальному учебному серверу. Проверяем HTTP-статус до разбора JSON и получаем две структуры товаров.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В PowerShell запустите: & "C:\Program Files\nodejs\node.exe" "C:\Opencart_project\AmaDesk\tools\1c-platform-context-8.5.1.1343\guide-http-mock.cjs". Оставьте терминал открытым; остановка — Ctrl+C.
Используйте учебную файловую базу на том же компьютере. В клиент-серверной базе 127.0.0.1 означает машину сервера 1С, а не компьютер пользователя.
Перед новым самостоятельным примером перезапустите учебный HTTP-сервер: это восстанавливает вымышленные товары A-01 и B-02. Рабочие базы и Avito этот сервер не использует.
Если порт 18785 занят, сначала выясните, какой процесс его занимает; не останавливайте чужую службу. Не меняйте пример на адрес рабочего API.
Соединение = Новый HTTPСоединение("127.0.0.1", 18785, , , , 10, Неопределено);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Accept", "application/json");
Запрос = Новый HTTPЗапрос("/guide/products?limit=2", Заголовки);
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
ВызватьИсключение СтрШаблон("HTTP %1: %2", Ответ.КодСостояния, Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8));
КонецЕсли;
Сообщить(Ответ.Заголовки.Получить("Content-Type"));
Данные = ПрочитатьЗначениеJSON(Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8));
Если ТипЗнч(Данные) <> Тип("Структура") Тогда
ВызватьИсключение "Ожидался JSON-объект";
КонецЕсли;
Товары = Неопределено;
Если Не Данные.Свойство("products", Товары) Тогда
ВызватьИсключение "В ответе отсутствует products";
КонецЕсли;
Если ТипЗнч(Товары) <> Тип("Массив") Тогда
ВызватьИсключение "products должен быть массивом";
КонецЕсли;
Для Каждого Товар Из Товары Цикл
Сообщить(СтрШаблон("%1 — %2: %3", Товар.code, Товар.name, Товар.quantity));
КонецЦикла;Разбор по шагам
В конструкторе соединения указываем только имя сервера, порт и таймаут; путь и query string находятся в HTTPЗапрос.
Получить выполняет GET и возвращает HTTPОтвет, а не сразу JSON.
Сначала проверяем КодСостояния, затем явно декодируем UTF-8 и разбираем JSON.
Проверяем структуру ответа и тип products, обходим массив товаров.
Как проверить результат
Вывод содержит A-01 — Книга: 3 и B-02 — Ручка: 1.
Замените limit=2 на limit=-1: должен быть HTTP 400, а не успешный пустой список.
Остановите учебный сервер: возникнет ошибка соединения; она отличается от ответа HTTP 400/404.
Ожидаемый результат
Получены два вымышленных товара через реальный локальный HTTP-запрос.
На что обратить внимание
HTTP-статус ошибки и транспортное исключение — разные ситуации; реальная интеграция должна обрабатывать обе.
HTTP без TLS используется только на loopback для учебных данных. Для внешних API используйте проверенное HTTPS-соединение.
Контракт products относится только к этому учебному серверу, не к Avito или вашей конфигурации.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.