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

Авторизация на сайте

Автор Евгений1992, 31 янв 2022, 15:40

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

Евгений1992

Всем добрый день! Подскажите где может быть ошибка? Постоянно в ответ приходит код "302". Не могу пройти авторизацию на сайте.

Сообщить("Старт. ("+ТекущаяДата() +")");
ВремяНачала = ТекущаяДата();

ИмяВыходногоФайла = "C:\Temp\answer.html";

Сервер = "lk.baikalsr.ru";
Логин = "................";
    Пароль = "................";

SSL = Новый ЗащищенноеСоединениеOpenSSL;

Соединение = Новый HTTPСоединение(Сервер,443,,,,,SSL);

Заголовки = Новый Соответствие;
Заголовки.Вставить("accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
Заголовки.Вставить("accept-encoding","gzip, deflate, br");
Заголовки.Вставить("accept-language","ru,en;q=0.9");
Заголовки.Вставить("content-type","application/x-www-form-urlencoded");
Заголовки.Вставить("origin","https://lk.baikalsr.ru");
Заголовки.Вставить("referer","https://lk.baikalsr.ru/lk/login");
Заголовки.Вставить("upgrade-insecure-requests", "1");
Заголовки.Вставить("user-agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.85 YaBrowser/21.11.3.940 Yowser/2.5 Safari/537.36");
//Заголовки.Вставить("Cookie", Результат.Заголовки["Set-Cookie"]);
//Заголовки.Вставить("Connection", "keep-alive");


Запрос = Новый HTTPЗапрос("/lk/login", Заголовки);
Запрос.УстановитьТелоИзСтроки("LoginForm[username]=" + Логин + "&LoginForm[password]=" + Пароль +  "&login_button=", КодировкаТекста.UTF8);
Результат = Соединение.ОтправитьДляОбработки(Запрос);




Сообщить("Нам вернули код: " + Результат.КодСостояния);
// Обрабатываем перенаправление
Если Результат.КодСостояния = 302 Тогда
  Сообщить("Код статуса 302, Постоянное перенаправление.");
  АдресРесурса = Результат.Заголовки.Получить("Location");
  Если АдресРесурса <> Неопределено Тогда
  Сообщить("Выполняю запрос по новому адресу " + АдресРесурса);
  Запрос = Новый HTTPЗапрос(АдресРесурса,Заголовки);
  Запрос.УстановитьТелоИзСтроки("LoginForm[username]=" + Логин + "&LoginForm[password]=" + Пароль +  "&login_button=", КодировкаТекста.UTF8);
  Результат = Соединение.ОтправитьДляОбработки(Запрос);
  Иначе
  Сообщить("Сервер не сообщил адрес ресурса!");
  КонецЕсли;
КонецЕсли;
Сообщить("Нам вернули код: " + Результат.КодСостояния);
Сообщить("Тело результата: " + Результат.ПолучитьТелоКакСтроку());
Сообщить("Готово. ("+ТекущаяДата() +"), выполнялось " + Строка(ТекущаяДата()-ВремяНачала) + " секунд.");

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

Поиск