|
Авторизация на сайте | ☑ | ||
---|---|---|---|---|
0
sintez1234
14.10.14
✎
15:23
|
Знаю что тема не впервые поднята, уникальный у меня случай.
Браузер в 1с, юзер заходит на сайт и проходит авторизацию руками. На веб странице внутри 1с есть список ссылок на файлы, которые хочется скачивать автоматически одной кнопкою. Текст с ссылками получить удалось из страницы, далее проблема... Делаю так: Функция СделатьВебЗапрос(АдресСайта, ТекстЗапроса, Защита = Неопределено) Экспорт //https://github.com/hhru/api/blob/master/docs/general.md Заголовки = "User-Agent: ProjectLab 1.0 ([email protected])"; ИмяФайлаОтвета = ПолучитьИмяВременногоФайла(); Попытка Если Защита = Неопределено Тогда HTTP = Новый HTTPСоединение(АдресСайта,,,,,, ); Иначе SSL = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено); HTTP = Новый HTTPСоединение(АдресСайта,,,,,, SSL); КонецЕсли; HTTP.Получить(ТекстЗапроса, ИмяФайлаОтвета, Заголовки); Исключение КонецПопытки; Возврат ИмяФайлаОтвета; КонецФункции Функция правильная! Работает. Не нужно в ней ошибки искать :) Она скачивает мне нужные файлы при условии что они в открытом доступе. Но на нужном мне сайте скачать файлы можно только после прохождения авторизации. Пользователь заранее авторизацию проходит в 1с, но это не помогает :( для 1с всё равное требуется авторизация. Так вместо нужного файла функция скачивает страницу запроса пары логин/пароль. Вижу варианты решения: 1) Сделать чтобы фунция тоже авторизировалось на сайте. 2) Сделать чтобы авторизация пользователя в поле HTML документа переносилась на эту функцию. Оба варианта подходят. Подскажите как реализовать хотя бы одно из двух. Интенсивные перегугления пока не дали результата (но продолжаются). |
|||
1
sintez1234
14.10.14
✎
15:41
|
Попробовал убрать заголовки - не помогло. Всё равно юзер через 1с авторизован, а функция нет.
Функция СделатьВебЗапрос(АдресСайта, ТекстЗапроса, Защита = Неопределено) Экспорт //https://github.com/hhru/api/blob/master/docs/general.md //Заголовки = "User-Agent: ProjectLab 1.0 ([email protected])"; ИмяФайлаОтвета = ПолучитьИмяВременногоФайла(); Попытка Если Защита = Неопределено Тогда HTTP = Новый HTTPСоединение(АдресСайта,,,,,, ); Иначе SSL = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено); HTTP = Новый HTTPСоединение(АдресСайта,,,,,, SSL); КонецЕсли; //HTTP.Получить(ТекстЗапроса, ИмяФайлаОтвета, Заголовки); HTTP.Получить(ТекстЗапроса, ИмяФайлаОтвета); Исключение КонецПопытки; Возврат ИмяФайлаОтвета; КонецФункции |
|||
2
anatoly
14.10.14
✎
15:56
|
что мешает функции открыть страницу входа, заполнить поля логин/пароль, отправить форму и после этого качать?
|
|||
3
laeg
14.10.14
✎
16:18
|
Не взлетит. Если мне память не изменяет, при авторизации на сайте 1с открывается по очереди три жаба сессии, в итоге ты получаешь куку, используя которую ты можешь прыгать по ссылкам и качать файло.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |