0
NWsFF
15.01.21
✎
07:12
|
С работой с http запросам столкнулся совсем недавно
Для себя захотел написать легкого бота который бы загружал текущие котировки моих акций в определенный момент времени
ну и решил сделать это через rusbonds.ru только вот пройти авторизацию на сайте никак не получается
раньше я все это дело делал сначала в postman а потом переписывал на питон или 1с, только вот с rusbond авторизация не проходит
хотя параметры авторизация я брал из отладки хрома, ни из постмана ни из 1с с заголовками похожими на chrome авторизация не проходит
Процедура АвторизацияРусбонд(Команда)
Соединение = Новый HTTPСоединение(" ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/");
Ответ = Соединение.Получить(Запрос);
Куки = ЧисткаКуки(Ответ.Заголовки.Получить("Set-Cookie"));
Запрос = Новый HTTPЗапрос("/auth.asp");
Запрос.Заголовки.Вставить("Cookie",куки);
Запрос.Заголовки.Вставить("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-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7");
Запрос.Заголовки.Вставить("Cache-Control", "max-age=0");
Запрос.Заголовки.Вставить("Connection", "keep-alive");
Запрос.Заголовки.Вставить("Host", ";);
Запрос.Заголовки.Вставить("Origin", ";);
Запрос.Заголовки.Вставить("Referer", ";);
Запрос.Заголовки.Вставить("If-Modified-Since", "Sun, 14 Jan 2020 5:00:00 GMT");
Запрос.Заголовки.Вставить("Sec-Fetch-Dest", "document");
Запрос.Заголовки.Вставить("Sec-Fetch-Mode", "navigate");
Запрос.Заголовки.Вставить("Sec-Fetch-Site", "same-origin");
Запрос.Заголовки.Вставить("Sec-Fetch-User", "?1");
Запрос.Заголовки.Вставить("Upgrade-Insecure-Requests", "1");
Запрос.Заголовки.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36");
разделитель ="Asrf555BGe4H";
ДобавитьЭлементМультиформы(СоздатьСообщение_Текст("login","тут моя почта"),разделитель);
ДобавитьЭлементМультиформы(СоздатьСообщение_Текст("pass","тут мой пароль"),разделитель);
Запрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + разделитель);
Запрос.УстановитьТелоИзСтроки(ПолучитьТелоМультиформы(разделитель));
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
РезультатТекст = Ответ.Заголовки.Получить("Location");
КонецПроцедуры
аналогичный код для авторизации на мисте и других сайтах проходит.
Это какая то схема против таких ботов от русбонда, там в условиях использования запрещен сбор данных ботами
как обойти, есть опытные?
Есть еще вариант через апи мосбиржи, но там задержка 15 минут при бесплатном доступе, что то не айс для меня.
|
|