Решение задач 1С:Предприятие 8 на примерах

«Ошибка работы с Интернет» в 1С: причины и решение

Ошибки 1СИнтеграция и обменОпубликовано

Платформа не смогла выполнить HTTP-запрос к внешнему серверу. После двоеточия указана техническая причина: не найден адрес, не удалось подключиться, истёк таймаут или не прошла проверка SSL-сертификата.

Текст ошибки

Ошибка работы с Интернет

Причины

Для пользователя

  1. Проверьте, открывается ли интернет в браузере на этом же компьютере.
  2. Если в организации используется прокси, проверьте настройки прокси в программе. В типовых конфигурациях они находятся в разделе «Администрирование», в параметрах подключения к интернету.
  3. Попробуйте позже: сервис мог быть временно недоступен.
  4. Если ошибка про сертификат, установите в Windows корневые сертификаты удостоверяющего центра, которым подписан сертификат сайта, в том числе сертификаты российского удостоверяющего центра, если сервис их использует.
  5. Обновите платформу: новые версии лучше поддерживают современные протоколы и алгоритмы шифрования.

Расшифровка частых причин

Для разработчика

Для HTTPS передавайте объект защищённого соединения. Чтобы использовать сертификаты, установленные в Windows, а не только встроенный набор платформы, передайте сертификаты удостоверяющих центров ОС:

ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(,
    Новый СертификатыУдостоверяющихЦентровОС);

Соединение = Новый HTTPСоединение("api.example.ru", 443, , , ,
    30, ЗащищенноеСоединение);
Запрос = Новый HTTPЗапрос("/v1/status");
Попытка
    Ответ = Соединение.Получить(Запрос);
Исключение
    ЗаписьЖурналаРегистрации("Интеграция", УровеньЖурналаРегистрации.Ошибка,,,
        ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
    ВызватьИсключение;
КонецПопытки;

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

Прокси

Прокси = Новый ИнтернетПрокси;
Прокси.Установить("https", "proxy.local", 3128, "user", "password");
Соединение = Новый HTTPСоединение("api.example.ru", 443, , , Прокси, 30,
    Новый ЗащищенноеСоединениеOpenSSL);

Где выполняется запрос

Серверный код в клиент-серверной базе ходит в интернет с сервера 1С. Доступ, прокси и сертификаты нужно проверять на сервере и для учётной записи, под которой работает служба 1С, а не на компьютере пользователя.

Частые вопросы

В браузере сайт открывается, а 1С пишет ошибку. Почему?

Браузер может использовать собственные настройки прокси и сертификатов. Кроме того, серверный код 1С выполняется на сервере, где доступа может не быть. Проверьте настройки прокси в 1С и доступ с сервера.

Как исправить ошибку проверки сертификата?

Установите корневой сертификат удостоверяющего центра в хранилище Windows и используйте в коде СертификатыУдостоверяющихЦентровОС. Также обновите платформу до актуальной версии.

HTTP-запросы из 1С к REST API: GET, POST и JSON

Интеграция и веб-сервисы

Готовые примеры GET и POST запросов из 1С к REST API по HTTPS: заголовки, токены, JSON, прокси, отправка файлов и универсальная функция-обёртка с логированием.

Как настроить отправку писем из 1С через Gmail

Обычные формы

Настраиваем отправку писем из 1С через Gmail: профиль SMTP, создание сообщения с вложением и отправка объектом ИнтернетПочта, а также что изменилось в требованиях Google.

Работа с JSON в 1С: чтение, запись, даты и типичные ошибки

Интеграция и веб-сервисы

Практическое руководство по JSON в 1С: чтение строки и файла, Структура против Соответствия, запись массивов, даты, сериализация через XDTO и разбор частых ошибок.

Похожие ошибки