HTTPСоединение.Порт

Свойства · Port

Тип: Число. Порт сервера, с которым произведено соединение.

Полное описание, параметры и ограничения

HTTPСоединение.Порт (HTTPConnection.Port)

HTTPСоединение (HTTPConnection)

Порт (Port)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: Число.
Порт сервера, с которым произведено соединение.
Доступность:

Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Получить заголовки без тела и вызвать произвольный HTTP-метод

HEAD возвращает сведения о ресурсе без его тела. OPTIONS учебного сервера перечисляет поддерживаемые методы.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В 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.

  2. Используйте учебную файловую базу на том же компьютере. В клиент-серверной базе 127.0.0.1 означает машину сервера 1С, а не компьютер пользователя.

  3. Перед новым самостоятельным примером перезапустите учебный HTTP-сервер: это восстанавливает вымышленные товары A-01 и B-02. Рабочие базы и Avito этот сервер не использует.

  4. Если порт 18785 занят, сначала выясните, какой процесс его занимает; не останавливайте чужую службу. Не меняйте пример на адрес рабочего API.

Соединение = Новый HTTPСоединение("127.0.0.1", 18785, , , , 10, Неопределено);
Запрос = Новый HTTPЗапрос("/guide/products");
Ответ = Соединение.ПолучитьЗаголовки(Запрос);
Сообщить(Ответ.КодСостояния);
Сообщить(Ответ.Заголовки.Получить("Content-Type"));
Сообщить(Ответ.Заголовки.Получить("Content-Length"));
ОтветOPTIONS = Соединение.ВызватьHTTPМетод("OPTIONS", Запрос);
Если ОтветOPTIONS.КодСостояния <> 200 Тогда
    ВызватьИсключение "Учебный сервер не подтвердил OPTIONS";
КонецЕсли;
Сообщить(ОтветOPTIONS.Заголовки.Получить("Allow"));
Сообщить(Соединение.Сервер);
Сообщить(Соединение.Порт);
Сообщить(Соединение.Таймаут);
Сообщить(Соединение.Защищенное);
Сообщить(Соединение.ИспользоватьАутентификациюОС);

Разбор по шагам

  1. ПолучитьЗаголовки выполняет HEAD; Content-Length описывает ресурс, не фактическое число полученных байтов тела HEAD.

  2. ВызватьHTTPМетод принимает сначала строку метода, затем объект запроса.

  3. Читаем Allow и настройки соединения, не выводя пароль.

Как проверить результат

  1. HEAD и OPTIONS возвращают 200; Allow содержит GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS.

  2. Сервер 127.0.0.1, порт 18785, таймаут 10, Защищенное — Ложь.

Ожидаемый результат

Сведения о ресурсе прочитаны без создания или удаления товаров.

На что обратить внимание

  1. Не все внешние API поддерживают HEAD или OPTIONS; проверяйте их документацию и фактический статус.

  2. Защищенное=Ложь допустимо здесь только для loopback и вымышленных данных, не для передачи токенов внешнему сервису.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Подготовить HTTPS-соединение с проверкой сертификата

Настраиваем доверенные сертификаты и таймаут. Создание объекта соединения само по себе не отправляет запрос.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Серверный Windows-контекст с доступным хранилищем доверенных сертификатов ОС.

  2. В коде нет вызова Получить или ОтправитьДляОбработки: сеть не используется.

  3. example.com — учебный хост, не адрес Avito.

Сертификаты = Новый СертификатыУдостоверяющихЦентровОС;
TLS = Новый ЗащищенноеСоединениеOpenSSL(, Сертификаты);
Соединение = Новый HTTPСоединение("example.com", 443, , , , 30, TLS);
Сообщить(Соединение.Сервер);
Сообщить(Соединение.Порт);
Сообщить(Соединение.Таймаут);

Разбор по шагам

  1. Источник сертификатов ОС передаём вторым параметром OpenSSL.

  2. Без источника удостоверяющих центров OpenSSL не проверяет сертификат сервера.

  3. В HTTPСоединение задаём порт 443, таймаут 30 секунд и TLS-объект.

Как проверить результат

  1. Свойства соединения: example.com, 443, 30.

  2. В отладчике проверьте наличие объекта СертификатыУдостоверяющихЦентров у TLS.

Ожидаемый результат

Объект соединения подготовлен; запрос не отправлен.

На что обратить внимание

  1. Наличие объекта TLS не доказывает успех рукопожатия: это проверяется только при реальном запросе.

  2. Не отключайте проверку сертификата для обхода ошибки доверия.

  3. Для Linux используйте поддерживаемый источник доверенных сертификатов; этот сценарий явно Windows-ориентированный.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.