[авторизация, web]Посоветуйте плиз как сделать и где почитать

migel

Нужно написать програмку, которая бы умела заходить на сайт и авторизоваться в нем: например как на маил.ру - логин, пароль и нажать на ОК.
Объясните пожалуйста механизм как эти действия пользователя можно реализовать программно?
И где можно прочитать более конкретно как это делается? (куски кода, какие нужны библиотеки и т.п.) (желательно Си или Перл)
Заранее спасибо

356ft85

Это делается через отправку на сервер POST или GET запроса.
Текст запроса можно посмотреть прогой Proxymitron,
например, логинясь в своём броузере.
Пишешь прогу, которая этот запрос делает через сокет.
В твоём случае помимо этого, как я понял,
надо сначала с сервера получить страничку
для авторизации и проанализировать её.
Что в общем-то не просто, универсального метода нет.
Как я понимаю в конечном итоге тебе нужен униклаьный
PID, который вроде передаётся через Cooki

laki

можно использовать Curl.

pilot

Плохо написано ТЗ.
"Заходить на сайт" - возьми Selenium или аналог. (Functional test tool) и вперед.
Можно python+mechanize - 100 cтрок максимум в примитивном варианте
Можно python+стандартные urllib и re - чуть длиннее.

stm7884696

не нужны тебе просмотры заголовков... все, что тебе нужно - это голова....
И возможность посмотреть page source и увидеть там поля формы , метод и адрес ее отправки...
Тоже мне, советчики нашлись....

laki

для людей с головой написано
Объясните пожалуйста механизм как эти действия пользователя можно реализовать программно?

stm7884696

ну и что, теперь надо послылать человека ботать HTTP запросы?
может еще послать его ботать структуры tcp/ip протоколов?
Того, что я сказал вполне достаточно...
Ибо сам таким макаром нарапидшаре работаю с премиум аккаунтом и парсю картинки для быстрой скачки без премиума...
Так что не стоит искать сложных путей, когда есть гораздо проще...

rosali

увидеть там поля формы , метод и адрес ее отправки
надо послылать человека ботать HTTP запросы?
Можно подумать что знание о том как передаются поля формы, что такое метод ее отправки, и пр. снизошли на тебя с неба, а не через ботание протокола HTTP...

stm7884696

ну уж точно не через ту простыню, что по вашему совету чел запостил в соседнем треде...
А скорее всего через HTML, в котором и описывается передача данных методами get и post.
в дан6ном случае внутреннее устройство абсолютно ненужно.
А если попросят объяснить, как скачать файл, ты посоветуешь поботать протоколы tcp/ip ?
И пакетную передачу с адресацией и маршрутизацией?
Короче, давай так, твой совет полезен, но не в джанном случает, т.к. сейчас увел чела в совершенно ненужную сторону.

rosali

в данном случае внутреннее устройство абсолютно ненужно
Действительно не нужно. Ну и что теперь, не надо ботать что ли? Если человек не знает что такое форма, метод передачи, куки, или даже вообще не знает что они бывают, как он может понять, как работает авторизация. А набор этих понятий и называется HTTP протокол.
поботать протоколы tcp/ip
Ты еще раз путаешь "протокол" как _набор понятий_ с "протоколом" как _множеством чисто синтаксических договоренностей_. Чтобы скачать файл не надо знать сколько байтов хедер ip пакета. Но надо представлять себе что такое хост, порт, ip-адрес, маска подсети, как работает фаервол, как работает dns, что такое директория в конце концов.

stm7884696

да уж... не поспоришь....
и правда, сначала надо объяснить челу прочтые понятия, а потом она сам поймет, насколько тривиален ответ на его вопрос.
Меня смутило просто то, что следуя совету чел полез гораздо глубже того, куда ему надо было...
Вот я и подумал, что так насоветовали...

migel

Всем БОЛЬШОЕ спасибо за помощь!
завтра сяду разбираться.. %)

khmelek

пжалста, обращайся если чО
Оставить комментарий
Имя или ник:
Комментарий: