HTTPS для УТ 10.3 доработка 1С

Все рубрики

Вот измененная функция для соединения по HTTPS, пробуйте

Функция в общем модуле “ПроцедурыОбменаССайтом”

Функция HTTPУстановитьСоединение(СтруктураПараметровСайта) Экспорт

Соединение = НеОпределено;

ИнтернетПрокси = НеОпределено;

Если СтруктураПараметровСайта.ПроксиИспользование Тогда

ИнтернетПрокси = Новый ИнтернетПрокси;
ИнтернетПрокси.Пользователь = СтруктураПараметровСайта.ПроксиИмяПользователя;
ИнтернетПрокси.Пароль = СтруктураПараметровСайта.ПроксиПароль;

ПротоколПрокси = ?(СтруктураПараметровСайта.ЗащищенноеСоединение, “HTTPS”, “HTTP”);

Если СтруктураПараметровСайта.ПроксиПорт = 0 Тогда
ИнтернетПрокси.Установить(ПротоколПрокси, СтруктураПараметровСайта.ПроксиСервер);
Иначе
ИнтернетПрокси.Установить(ПротоколПрокси, СтруктураПараметровСайта.ПроксиСервер, СтруктураПараметровСайта.ПроксиПорт);
КонецЕсли;

КонецЕсли;

Порт = ?(ЗначениеЗаполнено(СтруктураПараметровСайта.Порт), СтруктураПараметровСайта.Порт, ?(СтруктураПараметровСайта.ЗащищенноеСоединение, 443, 80));

Попытка

Соединение = Новый HTTPСоединение(СтруктураПараметровСайта.Сервер, Порт, СтруктураПараметровСайта.ИмяПользователя, СтруктураПараметровСайта.Пароль, ИнтернетПрокси, СтруктураПараметровСайта.ЗащищенноеСоединение);

Исключение

ОбщегоНазначения.СообщитьОбОшибке(“Не удалось установить соединение с сервером ” + СтруктураПараметровСайта.Сервер + “:” + Строка(СтруктураПараметровСайта.Порт) + “.
|Проверьте правильность адреса сервера, порт, имя пользователя и пароль.”);

Соединение = Неопределено;

Конецпопытки;

Возврат Соединение;

КонецФункции

Кириллов Виталий
Программист 1С, php, java, jquery. Мастер по ремонту электроники

4 thoughts on “HTTPS для УТ 10.3 доработка 1С

  1. Виталий, у меня один в один ситуация с 1с такая же (как в приведенном вами примере). Однако замена кода в УТ 10.3 не помогла. Связи нет. В чем может быть дело? Использую модуль Version 1.6.1.tesla-chita на ocStore 1.5.5.1.2 сайт на https. В протоколе http все работает как часики. Что то в модуле 1.6.1.tesla-chita надо поправить?

    1. Все. Разобрался. Этот код рабочий. Пробуйте.
      Функция HTTPУстановитьСоединение(СтруктураПараметровСайта) Экспорт

      Соединение = НеОпределено;

      ИнтернетПрокси = НеОпределено;

      Если СтруктураПараметровСайта.ПроксиИспользование Тогда

      ИнтернетПрокси = Новый ИнтернетПрокси;
      ИнтернетПрокси.Пользователь = СтруктураПараметровСайта.ПроксиИмяПользователя;
      ИнтернетПрокси.Пароль = СтруктураПараметровСайта.ПроксиПароль;

      ПротоколПрокси = ?(СтруктураПараметровСайта.ЗащищенноеСоединение, “HTTPS”, “HTTP”);

      Если СтруктураПараметровСайта.ПроксиПорт = 0 Тогда
      ИнтернетПрокси.Установить(ПротоколПрокси, СтруктураПараметровСайта.ПроксиСервер);
      Иначе
      ИнтернетПрокси.Установить(ПротоколПрокси, СтруктураПараметровСайта.ПроксиСервер, СтруктураПараметровСайта.ПроксиПорт);
      КонецЕсли;

      КонецЕсли;

      Порт = ?(ЗначениеЗаполнено(СтруктураПараметровСайта.Порт), СтруктураПараметровСайта.Порт, ?(СтруктураПараметровСайта.ЗащищенноеСоединение, 443, 80));

      Попытка
      Если СтруктураПараметровСайта.ЗащищенноеСоединение Тогда
      Соединение = Новый HTTPСоединение(СтруктураПараметровСайта.Сервер, Порт, СтруктураПараметровСайта.ИмяПользователя, СтруктураПараметровСайта.Пароль,ИнтернетПрокси,,Новый ЗащищенноеСоединениеOpenSSL);
      Иначе
      Соединение = Новый HTTPСоединение(СтруктураПараметровСайта.Сервер, Порт, СтруктураПараметровСайта.ИмяПользователя, СтруктураПараметровСайта.Пароль, ИнтернетПрокси, СтруктураПараметровСайта.ЗащищенноеСоединение);
      КонецЕсли;
      Исключение

      ОбщегоНазначения.СообщитьОбОшибке(“Не удалось установить соединение с сервером” + СтруктураПараметровСайта.Сервер + “:” + Строка(СтруктураПараметровСайта.Порт) + “.|Проверьте правильность адреса сервера, порт, имя пользователя и пароль.”);

      Соединение = Неопределено;

      Конецпопытки;

      Возврат Соединение;

      КонецФункции

  2. Доброе время суток, Виталий!
    Пробую разобраться с 1С-кой, после перехода сайта с http:// на https:// перестал работать обмен.
    В 1С-ке, пробовал Ваш метод, насыпало ошибок 🙁
    Нашел нужный процесс у себя в 1С-ке:
    Функция HTTPУстановитьСоединение(СтруктураПараметровСайта) Экспорт

    Соединение = НеОпределено;

    ИнтернетПрокси = НеОпределено;

    Если СтруктураПараметровСайта.ПроксиИспользование Тогда

    ИнтернетПрокси = Новый ИнтернетПрокси;
    Если СтруктураПараметровСайта.ПроксиПорт = 0 Тогда
    ИнтернетПрокси.Установить(“HTTP”, СтруктураПараметровСайта.ПроксиСервер);
    Иначе
    ИнтернетПрокси.Установить(“HTTP”, СтруктураПараметровСайта.ПроксиСервер, СтруктураПараметровСайта.ПроксиПорт);
    КонецЕсли;

    ИнтернетПрокси.Пользователь = СтруктураПараметровСайта.ПроксиИмяПользователя;
    ИнтернетПрокси.Пароль = СтруктураПараметровСайта.ПроксиПароль;
    КонецЕсли;

    Порт = ?(ЗначениеЗаполнено(СтруктураПараметровСайта.Порт), СтруктураПараметровСайта.Порт, 80);
    Попытка

    Соединение = Новый HTTPСоединение(СтруктураПараметровСайта.Сервер, Порт, СтруктураПараметровСайта.ИмяПользователя, СтруктураПараметровСайта.Пароль, ИнтернетПрокси);

    Исключение

    ОбщегоНазначения.СообщитьОбОшибке(НСтр(“ru=’Не удалось установить соединение с сервером ‘;uk=””Не вдалося встановити з’єднання з сервером “””) + СтруктураПараметровСайта.Сервер + “:” + Строка(СтруктураПараметровСайта.Порт) + НСтр(“ru=’.”
    “Проверьте правильность адреса сервера, порт, имя пользователя и пароль.’;uk=””.”
    “Перевірте правильність адреси сервера, порт, ім’я користувача та пароль.”””));

    Соединение = Неопределено;

    Конецпопытки;

    Возврат Соединение;

    КонецФункции

    Подскажите как его отредатировать, что бы проходила авторизация по http:// и по https://

    Заранее Благодарен.

    1. Александр, а код который я показал у вас не зажил? У меня и по Http и по Https отрабатывает, все ровно. Единственно, важно чтобы “движок” был версии не менее 8.3

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.