Ошибка работы с Интернет: SSL connect error

1. Rustavelli 17 02.04.19 16:07 Сейчас в теме
Соединение = Новый HTTPСоединение(Сервер, , , , , Истина);     
    HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
    HTTPЗапрос.УстановитьТелоИзСтроки(Результат);
    Ответ = Соединение.Получить(HTTPЗапрос);
    Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    Соединение = Неопределено;


Устанавливаю HTTP соединение, вылетает ошибка, платформа 8.2. Что можно сделать? Переходить на 8.3 не вариант.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 02.04.19 16:16 Сейчас в теме
(1) смотрите в сторону WinHttpRequest
SanyaSkipor; Rustavelli; +2 Ответить
6. VladimirB 17 03.04.19 06:49 Сейчас в теме
(1)
Так попробуйте:
 Адрес=_СайтИсточник;
    
    
//    ИмяВходящегоФайла =ПолучитьВременныйФайл("html");
    
//    WinHttp=СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
//    Если ПустаяСтрока(ПараметрыПрокси)=0 Тогда
//        WinHttp.SetProxy(2,ПараметрыПрокси);   //для отладки
//    КонецЕсли;
    WinHttp.Open("GET", Адрес, 0);
//    WinHttp.SetRequestHeader("Host", _СайтИсточник);
      WinHttp.SetRequestHeader("Accept-Language", "ru");
    WinHttp.SetRequestHeader("Accept-Charset","utf-8");
    WinHttp.setRequestHeader("Content-Language", "ru");
    WinHttp.setRequestHeader("Content-Charset", "utf-8");
    WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
    WinHttp.setRequestHeader("Connection", "close");

    Попытка
     //   _ВремяОжидания=_getPerformanceCounter();
        WinHttp.Send();
        WinHttp.waitForResponse(5);
    //    _ВремяОжидания=_getPerformanceCounter()-_ВремяОжидания;
    Исключение   
//        Сообщить(ОписаниеОшибки(),"!");
        Возврат ;
    КонецПопытки;
    Если WinHttp.Status = 200 Тогда
//        Сообщить("HTTP status: "+WinHttp.Status+" "+WinHttp.StatusText+", время ожидания "+_ВремяОжидания+" ms");        
    Иначе
//        Сообщить("HTTP status: "+WinHttp.Status+" "+WinHttp.StatusText+", ошибка!","!");
        Возврат ;
    КонецЕсли;
    //Сообщить(Лев(WinHttp.ResponseText, 200));
    
//    обСтримВыход=СоздатьОбъект("ADODB.Stream");
//    обСтримВыход.Type=1;
//    обСтримВыход.Mode=3;
//    обСтримВыход.Open();
 //   олеШелл = СоздатьОбъект("MSScriptControl.ScriptControl");
    // установим язык сценариев
  //  олеШелл.Language = "vbscript";
    // добавим созданные объекты
//    олеШелл.AddObject("oleADO", обСтримВыход);
 //   олеШелл.AddObject("WinHttp", WinHttp);
    // с помощью скрипта запишем в поток ADO данные из
    // объекта XMLHttpRequest
    // то есть содержимое страницы
//    олеШелл.Eval("oleADO.Write(WinHttp.ResponseBody)");
//    обСтримВыход.SaveToFile(ИмяВходящегоФайла,2);
Показать
MastaDust; SanyaSkipor; Rustavelli; +3 Ответить
2. YuriIn 02.04.19 16:12 Сейчас в теме
А что принимает метод HTTPСоединение в последнем параметре "Истина"?
Либо к серверу можно подключиться только используя протокол SSL, либо вы определили что использовать SSL, но не описали его...
4. Rustavelli 17 02.04.19 16:20 Сейчас в теме
(2)без этого параметра ошибок нет, но ответ сервера 301, он с http пытается меня перенаправить на https, а платформа 8.2 там тупо нет возможности его описать, по умолчанию стоит подключение по http если не указать в последнем параметре истину
5. YuriIn 02.04.19 16:50 Сейчас в теме
(4) в свое время использовал не однократно такую строку создания соединения, при необходимости "Новый ЗащищенноеСоединениеOpenSSL()" можно расширить, или в нем же описать пароль, пользователя и другие параметры.

HTTPСоединение = Новый HTTPСоединение(АдресСервера,,,,,,Новый ЗащищенноеСоединениеOpenSSL())
elian; va582; Rustavelli; +3 Ответить
7. user1991633 30.10.23 21:31 Сейчас в теме
Оставьте свое сообщение

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