8.1 HTTPСоединение

1. Гость 14.04.21 11:34
Может еще остались специалисты, или кто-нибудь помнит как на 8.1 HTTPСоединение отправляет на сервер сертификаты.

Попытка
	    ЗащищенноеСоединение = Истина; 
	    Соединение = Новый HTTPСоединение(Сервер,Порт,,,ЗащищенноеСоединение); //Вылетает здесь, даже "Исключение" не срабатывает.
	    Заголовки = Новый Соответствие;
	    Заголовки.Вставить("Content-Type", "application/json;charset=UTF-8");	
	
	Исключение
		ошибка = ОписаниеОшибки();
	    Сообщить(ошибка);
	КонецПопытки;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. Fox-trot 158 14.04.21 13:03 Сейчас в теме
(1)
Заголовки.Вставить("Content-Type", "application/json;charset=UTF-8");

здесь тоже ошибка
6. Xershi 1484 14.04.21 14:40 Сейчас в теме
(1) справку религия почитать не позволяет?
2. DenisVol 3 14.04.21 11:48 Сейчас в теме
Попытка
   HTTP = Новый HTTPСоединение(Адрес,443,Логин,Пароль,,Истина);
Исключение
КонецПопытки;
3. DenisVol 3 14.04.21 11:49 Сейчас в теме
4. user964459 14.04.21 11:51 Сейчас в теме
Это разве не тоже самое
Соединение = Новый HTTPСоединение(Сервер,Порт,,,ЗащищенноеСоединение);
7. user964459 14.04.21 15:24 Сейчас в теме
И заголовки вставил и библию почитал.
8. user964459 14.04.21 15:46 Сейчас в теме
Вопрос
как на 8.1 HTTPСоединение отправляет на сервер сертификаты?
**********************************************************************************
в 8.3 ВОТ ЭТО РАБОТАЕТ БЕЗ ПРОБЛЕМ
	ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(
			Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто),
			Новый СертификатыУдостоверяющихЦентровWindows());
			
	порт = 12345;
	Соединение = Новый HTTPСоединение(Сервер,порт ,,,,3,ЗащищенноеСоединение);
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json;charset=UTF-8");

    Запрос = Новый HTTPЗапрос(Сервис, Заголовки);  
    Запрос.УстановитьТелоИзСтроки(ЭтотОбъект.СтрокаЗапроса, КодировкаТекста.UTF8, 
    ИспользованиеByteOrderMark.НеИспользовать); 
	
	Ответ = Соединение.ВызватьHTTPМетод("PUT",Запрос);
	
	ОтветЗаголовки = Ответ.Заголовки;
	ОтветКод = Ответ.КодСостояния;
	ОтветТело = Ответ.ПолучитьТелоКакСтроку();
Показать

А в 8.1
ЗащищенноеСоединение = Истина;



Я и спрашиваю
как на 8.1 HTTPСоединение отправляет на сервер сертификаты?
9. user964459 15.04.21 07:41 Сейчас в теме
Задача решена так

Процедура ЗапросКСевисуНаПлатформе1С8_1(Сервер,Сервис,СертификатИмя,ТипЗапроса,ТекстЗапроса)

WinHttpUTF8 = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttpUTF8.Option(2, "UTF-8");

WinHttpUTF8.SetClientCertificate(СертификатИмя);
WinHttpUTF8.SetTimeouts(10000, 10000, 30000, 30000);

Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.Language = "javascript";
Скрипт.AddObject("WinHttp", WinHttpUTF8);
Скрипт.Eval("WinHttp.Option(2) = ""utf-8""");
Скрипт.Eval("WinHttp.Option(4) = 13056");
Скрипт.Eval("WinHttp.Option(6) = true");
Скрипт.Eval("WinHttp.Option(12) = true");

WinHttpUTF8.Open(ТипЗапроса, Сервер + Сервис, 0);
WinHttpUTF8.SetRequestHeader("Content-Type", "application/json;charset=UTF-8");

WinHttpUTF8.Send(ТекстЗапроса);

Ответ = WinHttpUTF8.ResponseText();

КонецПроцедуры
10. Xershi 1484 15.04.21 09:15 Сейчас в теме
(9) вообще можете перейти в режим совестимости 8.2 и поставить 8.3.
Тогда многие вещи костылями решать не придётся.
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот