Добрый день.
1С:Предприятие 8.3 (8.3.10.2580)
Есть сайт www.agrochart.com
После авторизации на нем будут доступны определенные страницы с аналитикой.
Хочу подгружать в базу эту аналитику, но не выходит.
Посмотрел через браузер, то процесс там выглядит так:
1. При переходе на страницу авторизации получаем уникальный token, назовем его token1
2. Потом post запросом передаем логин, пароль и в КУКИ запихиваем этот token1
3. В результате авторизации должны получить SessionId и новый token по которым можем дальше "ходить" по страницам.
Не могу понять, что именно делаю не так, но ошибки после отправки post нет (получаю код 301, хотя по логике должен быть 302), но вот SessionId и новый token не приходят.
Код под спойлеромПроцедура КнопкаВыполнитьНажатие(Кнопка)
Сервер = "www.agrochart.com";
Ресурс = "/en/users/login/";
Логин = "test06032019@gmail.com";
Пароль = "Qq123456";
// Подключаемся к сайту.
Соединение = Новый HTTPСоединение(Сервер, 443, , , , ,
Новый ЗащищенноеСоединениеOpenSSL()
);
Запрос = Новый HTTPЗапрос(Ресурс);
Результат = Соединение.Получить(Запрос);
// В куках нам должны вернуть идентификатор сессии.
Куки = Результат.Заголовки.Получить("Set-Cookie");
Куки = СтрЗаменить(Куки, ";", Символы.ПС);
ИдентификаторСессии1 = Сред(СтрПолучитьСтроку(Куки, 1),11);
//Сообщить("Тело результата: " + Результат.ПолучитьТелоКакСтроку());
Сообщить(ИдентификаторСессии1);
Сообщить("Код возврата " + Результат.КодСостояния);
КодПриглашения = "next=" +
"&email=" + Логин +
"&password=" + Пароль +
"&csrfmiddlewaretoken=" + ИдентификаторСессии1;
Запрос = Новый HTTPЗапрос();
Запрос.Заголовки.Вставить("Referer","https://www.agrochart.com/en/users/login/");
Запрос.Заголовки.Вставить("Cookie","csrftoken="+ИдентификаторСессии1);
Запрос.УстановитьТелоИзСтроки(КодПриглашения, "ISO-8859-1");
//Сообщить(Запрос.ПолучитьТелоКакСтроку());
Результат = Соединение.ОтправитьДляОбработки(Запрос);
Сообщить("Нам вернули код " + Результат.КодСостояния);
КонецПроцедуры