Вы не зашли.
Есть некая страница с сылками, по которым надо перейти автоматически, через некотрый промежуток времени. Перед этим нужно авторизоваться. Можно ли как нибуть это автоматизировать? Это клик-клуб. Хочу что-то типа робота
А как? Пожалуста, помогите)
отсылкой GET и POST запросов. Конкретизируй вопрос.
На странице идут ссылки
Код:
<a href="/enter.php?sid=[Идентификатор_сессии]&mode=gok&to=[Куда_идем]">Название</a> |
Если нет идентификатора сессии, то сразу выкидывает на страницу авторизации. Там где "to=[Куда_идем]" не адрес сайта, а логин юзера к которому идем. Нужно чтобы скрипт авторизовывался и шел по ссылкам. На крон поставить - это без проблем. Там уже сам выставлю через какой промежуток времени идти. Вот как такое организовать?
Нууу.... Вобщем.... Есть у меня класс один... Честно говоря балуюсь иногда написанием подобных вещей, т.к. платят хорошо)
Класс не совсем доработан, в будущем надеюсь улучшу, но в целом его можно использовать.
Тебе нужны методы authorise и get. Наверное и все.
Ух.. Ну спасибо. Щас буду сидеть разбираться. Благо сделал дела необходимые
Вот код из класса:
Код:
public function authorise($url, $authorise, $regexp, $match){ |
$get = $this->get($url, $authorise, true, false); |
preg_match($regexp, $get, $array); |
return trim($array[$match]); |
} |
Данные там у меня передаются гетом. Значит в поле запроса пишу http://site.ru/str.php?name=some&pass=some. А дальше что писать? Просто я что-то не пойму немного=//
Gemorroj, подкинь идейку какую-нить плз..Ничего не выходит.....
#12.
AND
Off
(11)
Участник
2009.05.24 11:11
Написал такой скриптик для одного клик-клуба.
Переходит по 150 ссылкам, с задержкой 5сек и не переходя на сами сайты (только до последнего редиректа) за ~15мин на локалке.
Gemorroj, за такой скрипт с хоста не выгонят?
хз. если грамотно написан (закрывает соединения, и выставлены таймауты), то сервер грузить не должен, следовательно, все ок. а вот по с моральной точки зрения все может быть...
#14.
AND
Off
(11)
Участник
2009.05.24 12:12
На счет грамотности написания я сомневаюсь, т.к. пых еще плохо знаю...
А так работает через курл, таймаут 12, сединения закрывает.
таймаут поменьше поставь, не более 3-5 секунд.
Буду писать на конкретных примерах. Клик-клуб: clikus.ru. Авторизация вида: clikus.ru/enter.php?login=Login&password=PassWord. Пробывал эти классом авторизоваться - не получается. Скорее всего это я криворук=//. Потом переход по ссылкам осуществляется на странице clikus.ru/enter.php?mode=go . Идентификатор сессии теперь не нужен. Значит нужно принять куки... Сама ссылка для перехода выглядит как: http://clikus.ru/enter.php?mode=pereh&to=[Логин_к_кому_идем]&link=[Номер]. Вот.
Добавлено спустя 3 минуты 35 секунд: Ну, я думаю, список к кому идти и номер я через граббер в массив занесу... А вот дальше хз что...
Код:
span style="color: #0000BB"><?php$sid = $obj->authorise('http://xxx.ru', 'login='.rawurlencode($_POST['login']).'&password='.rawurlencode($_POST['pass']), '/Set\-Cookie:\s*(.+);.*/isU', 1);$obj->send_header('Cookie: ' . $sid);?> |
вот из реально работающего скрипта кусок. Тут вырезается кукис. И затем добавляется к заголовкам.
Обновил немного класс, исправил ошибку с проксями и добавил возможность проверкуи на успешность отправки сообщения (для спамеров).
Ну это понятно.А по ссылкам как идти?
ну епт. вырезал урл, перешел по нему.
Немножко пришлось изменить API.
Из интересного - терь есть метод get_cookies, который вернет строкой все кукисы, которые пытался записать вам удаленный сервер.
еще что-то. добавил компрессию. правда изначально устроена проверка на принятый от удаленного сервера контент не совсем правильно, но по идее должно работать.
Код:
span style="color: #0000BB"><?phprequire 'class.php';$obj = new Spamer();$obj->authorise('http://****.****.ru/panel.php', 'nick=DarkDaNTe&pass=*******', '', 1);$obj->get_cookies();?> |
Вот тут все правильно? Для кликалки одного клик-клуба. И еще. Не пойму как получить ссылки по которым идти. Gemorroj, помоги плиз.
$obj->get_cookies() - тут ты получил куки, но ничего с ними не сделал.
ссылки нужно получать с помощью регулярных выражений) получил ответ удаленного сервера - обработал регуляркой - получил ссылку.
нет. в каждом случаес регулярка своя.
А код по поводу Cookies? Хз как отправить..
$obj->send_header('Cookie: '.$obj->get_cookies());
)
Ну блин) Я почти так и думал) Хотел писать тока без $obj->
Отредактировано DarkDaNTe (2009.06.14 15:03)
А можно сделать такой грабб, чтобы он заносил в файл массив ссылок, по которым кликать надо?
нет. Я думал будет ли работать.