Скачать файл по http с авторизацией
От: Smile616  
Дата: 28.03.06 09:48
Оценка:
Здравствуйте!

Возникла задачка:
Есть сайт с которого надо скачаь файл, например, http://to-da-se.ru/file.ext
Кликаем в эксплорере и вместо файла получаем страничку, где чёрным по белому просят ввести пароль и логин. Вводим и на тойже странице пишут: "всё здорово ты вошёл!". Далее ещё раз http://to-da-se.ru/file.ext и в ответ летит файл.
Собственно вопрос в том, как этот процесс автоматизировать?

Методом POST параметры пробовал посылать:
В своей проге — грит, у тебя cookies не включено;
В эксплорере — получается миновать логин/пароль.

Спасибо.
Re: Скачать файл по http с авторизацией
От: Аноним  
Дата: 28.03.06 10:19
Оценка:
Здравствуйте, Smile616, Вы писали:

S>Здравствуйте!


S>Возникла задачка:

S>Есть сайт с которого надо скачаь файл, например, http://to-da-se.ru/file.ext
S>Кликаем в эксплорере и вместо файла получаем страничку, где чёрным по белому просят ввести пароль и логин. Вводим и на тойже странице пишут: "всё здорово ты вошёл!". Далее ещё раз http://to-da-se.ru/file.ext и в ответ летит файл.
S>Собственно вопрос в том, как этот процесс автоматизировать?

S>Методом POST параметры пробовал посылать:

S>В своей проге — грит, у тебя cookies не включено;
S>В эксплорере — получается миновать логин/пароль.

S>Спасибо.


разбирайтесь с cookies в заголовках HTTP,
по видимому Вы должны вернуть в запросе
то "печенье" что было получено от сервера при первом запросе.
это что-то вроде билетика на дискотеку,
первый раз покупаете билетик, а вам ставят штампик на руку,
можно выйти покурить а по штампику Вас пустят назад
куки могут иметь срок годности (штампик стирается потихоньку),
так что лучший способ это два приема, имитирующих
интерактивный запрос, первый — запрос форма логина — получаем печенье,
второй запрос с параметрами формы и печенье.
Re[2]: Скачать файл по http с авторизацией
От: Smile616  
Дата: 28.03.06 10:47
Оценка:
А>по видимому Вы должны вернуть в запросе
А>то "печенье" что было получено от сервера при первом запросе.

Он уже на первый запрос возвращает страничку с надписью: ваш браузер не поддерживает cookies
Re[3]: Скачать файл по http с авторизацией
От: Аноним  
Дата: 28.03.06 11:29
Оценка: +1
Здравствуйте, Smile616, Вы писали:

А>>по видимому Вы должны вернуть в запросе

А>>то "печенье" что было получено от сервера при первом запросе.

S>Он уже на первый запрос возвращает страничку с надписью: ваш браузер не поддерживает cookies


гм, я не разбирался так тонко в таких вопросах,
я сделал-бы так
1) предположил, что куки мне даются при первом посещении заглавной страницы,
тогда при посещении странички с логином я уже имею куки и должен их передать,
что-бы это проверить, надо удалить из папки куков браузера относящиеся к делу
куки и зайти браузером сразу на страничку логина (вообще желательно через
логирующий прокси/маппер — легко написать самому), и посмотреть,
ежели ошибка "Куки вашим браузером не поддерживаются" тогда сделать
как я уже писал выше, только забирать куки не со страницы логина а с главной.
2) Кстати, нужно изучить то что посылает IE, многие поля в заголовке могут быть важные,
например Host: to-da-se.ru или, возможно, важно написать Accept: */*.
3) Если ничего не помогает, предположить что сервер определяет возможность куков
по версии браузера, тогда нужно прикинуться IE вот так добавив заголовок:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
в общем — надо немного поисследовать проблему, может почитать немного RFC
Re: Скачать файл по http с авторизацией
От: IID Россия  
Дата: 28.03.06 12:39
Оценка:
Здравствуйте, Smile616, Вы писали:

S>Здравствуйте!


S>Возникла задачка:

S>Есть сайт с которого надо скачаь файл, например, http://to-da-se.ru/file.ext
S>Кликаем в эксплорере и вместо файла получаем страничку, где чёрным по белому просят ввести пароль и логин. Вводим и на тойже странице пишут: "всё здорово ты вошёл!". Далее ещё раз http://to-da-se.ru/file.ext и в ответ летит файл.
S>Собственно вопрос в том, как этот процесс автоматизировать?

S>Методом POST параметры пробовал посылать:

S>В своей проге — грит, у тебя cookies не включено;
S>В эксплорере — получается миновать логин/пароль.

S>Спасибо.


libcurl возьмите
kalsarikännit
Re[2]: Скачать файл по http с авторизацией
От: Smile616  
Дата: 28.03.06 12:46
Оценка:
ни curl, ни wget не помогли
Re: Скачать файл по http с авторизацией
От: HiSH Россия http://m0riarty.ya.ru
Дата: 29.03.06 07:26
Оценка:
Здравствуйте, Smile616, Вы писали:

S>Здравствуйте!


S>Возникла задачка:

S>Есть сайт с которого надо скачаь файл, например, http://to-da-se.ru/file.ext
S>Кликаем в эксплорере и вместо файла получаем страничку, где чёрным по белому просят ввести пароль и логин. Вводим и на тойже странице пишут: "всё здорово ты вошёл!". Далее ещё раз http://to-da-se.ru/file.ext и в ответ летит файл.
S>Собственно вопрос в том, как этот процесс автоматизировать?

А WinHTTP пробовали?
... << RSDN@Home 1.2.0 alpha rev. 648 with тишина...>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.