Тип: Строка. Сервер, с которым произведено соединение.
Полное описание, параметры и ограничения
HTTPСоединение.Сервер (HTTPConnection.Host)
HTTPСоединение (HTTPConnection)
Сервер (Host)
Доступен, начиная с версии 8.0.
Использование:
Только чтение.
Описание:
Тип: Строка.
Сервер, с которым произведено соединение.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Описание изменено в версии 8.3.21.
Методическая информация
Практические примеры
Получить заголовки без тела и вызвать произвольный HTTP-метод
HEAD возвращает сведения о ресурсе без его тела. OPTIONS учебного сервера перечисляет поддерживаемые методы.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В 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, Неопределено);
Запрос = Новый HTTPЗапрос("/guide/products");
Ответ = Соединение.ПолучитьЗаголовки(Запрос);
Сообщить(Ответ.КодСостояния);
Сообщить(Ответ.Заголовки.Получить("Content-Type"));
Сообщить(Ответ.Заголовки.Получить("Content-Length"));
ОтветOPTIONS = Соединение.ВызватьHTTPМетод("OPTIONS", Запрос);
Если ОтветOPTIONS.КодСостояния <> 200 Тогда
ВызватьИсключение "Учебный сервер не подтвердил OPTIONS";
КонецЕсли;
Сообщить(ОтветOPTIONS.Заголовки.Получить("Allow"));
Сообщить(Соединение.Сервер);
Сообщить(Соединение.Порт);
Сообщить(Соединение.Таймаут);
Сообщить(Соединение.Защищенное);
Сообщить(Соединение.ИспользоватьАутентификациюОС);Разбор по шагам
ПолучитьЗаголовки выполняет HEAD; Content-Length описывает ресурс, не фактическое число полученных байтов тела HEAD.
ВызватьHTTPМетод принимает сначала строку метода, затем объект запроса.
Читаем Allow и настройки соединения, не выводя пароль.
Как проверить результат
HEAD и OPTIONS возвращают 200; Allow содержит GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS.
Сервер 127.0.0.1, порт 18785, таймаут 10, Защищенное — Ложь.
Ожидаемый результат
Сведения о ресурсе прочитаны без создания или удаления товаров.
На что обратить внимание
Не все внешние API поддерживают HEAD или OPTIONS; проверяйте их документацию и фактический статус.
Защищенное=Ложь допустимо здесь только для loopback и вымышленных данных, не для передачи токенов внешнему сервису.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Подготовить HTTPS-соединение с проверкой сертификата
Настраиваем доверенные сертификаты и таймаут. Создание объекта соединения само по себе не отправляет запрос.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Серверный Windows-контекст с доступным хранилищем доверенных сертификатов ОС.
В коде нет вызова Получить или ОтправитьДляОбработки: сеть не используется.
example.com — учебный хост, не адрес Avito.
Сертификаты = Новый СертификатыУдостоверяющихЦентровОС;
TLS = Новый ЗащищенноеСоединениеOpenSSL(, Сертификаты);
Соединение = Новый HTTPСоединение("example.com", 443, , , , 30, TLS);
Сообщить(Соединение.Сервер);
Сообщить(Соединение.Порт);
Сообщить(Соединение.Таймаут);Разбор по шагам
Источник сертификатов ОС передаём вторым параметром OpenSSL.
Без источника удостоверяющих центров OpenSSL не проверяет сертификат сервера.
В HTTPСоединение задаём порт 443, таймаут 30 секунд и TLS-объект.
Как проверить результат
Свойства соединения: example.com, 443, 30.
В отладчике проверьте наличие объекта СертификатыУдостоверяющихЦентров у TLS.
Ожидаемый результат
Объект соединения подготовлен; запрос не отправлен.
На что обратить внимание
Наличие объекта TLS не доказывает успех рукопожатия: это проверяется только при реальном запросе.
Не отключайте проверку сертификата для обхода ошибки доверия.
Для Linux используйте поддерживаемый источник доверенных сертификатов; этот сценарий явно Windows-ориентированный.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.