Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 ноя 2021, 11:06

Авторизация на сайте в фоновом режиме.

Автор Inovatech, 19 окт 2021, 14:46

0 Пользователей и 1 гость просматривают эту тему.

Inovatech

Добрый день
Надо пройти авторизацию на сайте и получить необходимую информацию в фоновом режиме.
Просмотрел два варианта:


1-вариант:
  //Для начала инициализация
  WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); //WinHttpRequest
  Сервер  = "https://мойсайт";
  WinHttp.Open("POST", Сервер , Ложь);
  WinHttp.SetRequestHeader("Connection", "keep-alive");
  WinHttp.SetRequestHeader("Host", Сервер);
  WinHttp.SetRequestHeader("Content-Type", "text/html;charset=utf-8");
  WinHttp.send("{""login"":""login"",""password"":""password""}");
  //WinHttp.SetCredentials(Логин,Пароль,0);
  //WinHttp.Send();     
  //WinHttp.Send("login="+Логин+"&password="+Пароль+"");
  Если WinHttp.Status = 200 Тогда
    Сообщить(WinHttp.ResponseText);
  Иначе
    Сообщить("HTTP " + WinHttp.Status + " " + WinHttp.StatusText);
    Возврат;
  КонецЕсли;

2-вариант:

  Сервер  = "мойсервер.ру";
  Порт   = 443;
  Пользователь  = Логин;
 
  ЗаголовокHTTP = Новый Соответствие();
  ЗаголовокHTTP.Вставить("login", Логин);
  ЗаголовокHTTP.Вставить("password", Пароль);
  ЗаголовокHTTP.Вставить("Content-Type", "text/html;charset=utf-8");
 
  Ресурс = "/home";                                   
  HTTPСоединение = Новый HTTPСоединение(Сервер,Порт,,,,, Новый ЗащищенноеСоединениеOpenSSL());
  //HTTPСоединение1 = Новый HTTPСоединение(Сервер,Порт,Логин,Пароль,,, Новый ЗащищенноеСоединениеOpenSSL());
  HTTPЗапрос     = Новый HTTPЗапрос(Ресурс, ЗаголовокHTTP);
   
  Результат = HTTPСоединение.Получить(HTTPЗапрос);
  ТекстОтвета    = Результат.ПолучитьТелоКакСтроку();
 
или

  ЗаголовокHTTP = Новый Соответствие();
  ЗаголовокHTTP .Вставить("Content-Type", "text/html;charset=utf-8");
   
  HTTPЗапрос = Новый HTTPЗапрос(Ресурс, ЗаголовокHTTP);
  HTTPЗапрос.УстановитьТелоИзСтроки("&login=" + Логин + "&password=" + Пароль, КодировкаТекста.UTF8);
  Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);   
    ТекстОтвета    = Результат.ПолучитьТелоКакСтроку();
   

Оба ответа одинаковы: возвращает только главную страницу, не прошла авторизацию.

Подскажите, пожалуйста, что делаю не так.
Спасибо

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск