DarkDaNTe » 2009.05.22 19:19

Есть некая страница с сылками, по которым надо перейти автоматически, через некотрый промежуток времени. Перед этим нужно авторизоваться. Можно ли как нибуть это автоматизировать? Это клик-клуб. Хочу что-то типа робота=)

Gemorroj » 2009.05.22 19:41

можно)

DarkDaNTe » 2009.05.22 21:46

А как? Пожалуста, помогите)

Gemorroj » 2009.05.23 01:08

отсылкой GET и POST запросов. Конкретизируй вопрос.

DarkDaNTe » 2009.05.23 17:49

На странице идут ссылки

Код:

1
<a href="/enter.php?sid=[Идентификатор_сессии]&amp;mode=gok&amp;to=[Куда_идем]">Название</a>

Если нет идентификатора сессии, то сразу выкидывает на страницу авторизации. Там где "to=[Куда_идем]" не адрес сайта, а логин юзера к которому идем. Нужно чтобы скрипт авторизовывался и шел по ссылкам. На крон поставить - это без проблем. Там уже сам выставлю через какой промежуток времени идти. Вот как такое организовать?

Gemorroj » 2009.05.23 18:20

Нууу.... Вобщем.... Есть у меня класс один... Честно говоря балуюсь иногда написанием подобных вещей, т.к. платят хорошо)
Класс не совсем доработан, в будущем надеюсь улучшу, но в целом его можно использовать.
Тебе нужны методы authorise и get. Наверное и все.

DarkDaNTe » 2009.05.23 18:51

Ух.. Ну спасибо. Щас буду сидеть разбираться. Благо сделал дела необходимые=)

DarkDaNTe » 2009.05.23 20:07

Вот код из класса:

Код:

1
2
3
4
5
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. А дальше что писать? Просто я что-то не пойму немного=//

DarkDaNTe » 2009.05.23 20:34

Все уже)

DarkDaNTe » 2009.05.24 07:44

Gemorroj, подкинь идейку какую-нить плз..Ничего не выходит.....

Gemorroj » 2009.05.24 10:20

Конкретизируй вопрос.

AND » 2009.05.24 11:49

Написал такой скриптик для одного клик-клуба.
Переходит по 150 ссылкам, с задержкой 5сек и не переходя на сами сайты (только до последнего редиректа) за ~15мин на локалке.

Gemorroj, за такой скрипт с хоста не выгонят?

Gemorroj » 2009.05.24 11:52

хз. если грамотно написан (закрывает соединения, и выставлены таймауты), то сервер грузить не должен, следовательно, все ок. а вот по с моральной точки зрения все может быть...

AND » 2009.05.24 12:20

На счет грамотности написания я сомневаюсь, т.к. пых еще плохо знаю...
А так работает через курл, таймаут 12, сединения закрывает.

Gemorroj » 2009.05.24 12:42

таймаут поменьше поставь, не более 3-5 секунд.

DarkDaNTe » 2009.05.24 13:23

Буду писать на конкретных примерах. Клик-клуб: 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 секунд:
Ну, я думаю, список к кому идти и номер я через граббер в массив занесу... А вот дальше хз что...

Gemorroj » 2009.05.24 13:58

Код:

1
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);?>

вот из реально работающего скрипта кусок. Тут вырезается кукис. И затем добавляется к заголовкам.
Обновил немного класс, исправил ошибку с проксями и добавил возможность проверкуи на успешность отправки сообщения (для спамеров).

DarkDaNTe » 2009.05.24 17:13

Ну это понятно.А по ссылкам как идти?

Gemorroj » 2009.05.24 20:52

ну епт. вырезал урл, перешел по нему.

Gemorroj » 2009.05.30 21:17

Немножко пришлось изменить API.
Из интересного - терь есть метод get_cookies, который вернет строкой все кукисы, которые пытался записать вам удаленный сервер.

Gemorroj » 2009.06.07 00:47

еще что-то. добавил компрессию. правда изначально устроена проверка на принятый от удаленного сервера контент не совсем правильно, но по идее должно работать.

DarkDaNTe » 2009.06.12 20:50

Код:

1
span style="color: #0000BB"><?phprequire 'class.php';$obj = new Spamer();$obj->authorise('http://****.****.ru/panel.php', 'nick=DarkDaNTe&pass=*******', '', 1);$obj->get_cookies();?>

Вот тут все правильно? Для кликалки одного клик-клуба. И еще. Не пойму как получить ссылки по которым идти. Gemorroj, помоги плиз.

Gemorroj » 2009.06.12 22:46

$obj->get_cookies() - тут ты получил куки, но ничего с ними не сделал.
ссылки нужно получать с помощью регулярных выражений) получил ответ удаленного сервера - обработал регуляркой - получил ссылку.

DarkDaNTe » 2009.06.12 23:29

Можешь код написать?

Gemorroj » 2009.06.12 23:47

нет. в каждом случаес регулярка своя.

DarkDaNTe » 2009.06.13 19:18

А код по поводу Cookies? Хз как отправить..=(

Gemorroj » 2009.06.13 19:35

$obj->send_header('Cookie: '.$obj->get_cookies());
=))

DarkDaNTe » 2009.06.13 19:52

Ну блин) Я почти так и думал) Хотел писать тока без $obj->

DarkDaNTe » 2009.06.14 15:58

А можно сделать такой грабб, чтобы он заносил в файл массив ссылок, по которым кликать надо?

Gemorroj » 2009.06.14 17:25

тебе кто-то запрещает?

DarkDaNTe » 2009.06.14 17:52

нет. Я думал будет ли работать.