Главная > XRumer > Делаем мод для XRumer-а. Часть 2-я регистрация в ресурсах.

Делаем мод для XRumer-а. Часть 2-я регистрация в ресурсах.

30th Ноябрь, 2008

Пришло время обучить XRumer регистрации в досках. Тут не все так просто. Сначала нам нужно объяснить ему, что ОБЯЗАТЕЛЬНО нужно регистрироваться иначе он будет пытаться постить анонимно… разумеется в настройках XRumer-а есть галочка «Обязательная регистрация + постинг»,

но мы не ищем легких путей :).

Давайте найдем признак, который сможет подсказать XRumer-у, что нужно обязательно зарегистрироваться. Что такое есть уникальное в движке, что может служить признаком? Да что угодно! Хоть кусок ссылки на страницу регистрации! Так и запишем!

Открываем файл xmessages.txt , находим в нем строку REGANYWAY и в конец предыдущей строки добавляем ;event=reg
Для XRumer-а это будет служить подсказкой, что первым делом надо завести тут аккаунт.
Отлично, теперь надо обьяснить ему что для регистрации аккаунта нужно перейти по ссылке tools.php?event=login . За логику перемещения XRumer-а по сайтам отвечает файл xurl.txt, читаем справку:


Синтаксис

AddLinkRule([область_поиска,’строка’, необязательный_параметр_логики,

], метка_ссылки);

Где:
область поиска — цифровое значение, задающее, где именно производится поиск строки: 0 — ссылка в нижнем регистре, 1 — ссылка как есть в
HTML-коде, 2 — ссылка вместе с анкором в нижнем регистре
строка — строчка, которая должна входить в область поиска, чтобы данное правило выполнялось
необязательный_параметр_логики — здесь может быть прописан или не прописан false; если прописан false, это значит, что строка наоборот НЕ
должна присутствовать в области поиска
метка ссылки — это метка, которой будет помечена данная ссылка если заданное правило выполняется:
URL_TONEWPOST — ссылка на создание нового сообщения / топика
URL_TOREGISTRATION — ссылка на регистрацию


И согласно синтаксису описанному в справке добавляем в него правило:

AddLinkRule([
0,'tools.php?event=reg'
],URL_TOREGISTRATION);

Важный момент – XRumer зверь своенравный и есть у него одна черта не описанная в справке – первое правило файла xurl.txt он игнорирует. Поэтому стоит первым правилом поставить какую-то пустышку, например

AddLinkRule([0,'action=logout'
],'');

Тогда на данном этапе наш xurl.txt примет вид:

AddLinkRule([0,'action=logout'
],'');
AddLinkRule([
0,'tools.php?event=reg'
],URL_TOREGISTRATION);

Следующий этап – обучение полям формы регистрации. Тут все очень просто – смотрим на форму
на страничке http://board.baxonet.com/tools.php?event=reg и понимаем, что нам нужно заполнить поля:

Имя
Пароль
E-mail
Поставить галочку «С правилами ознакомлен»
Ну и конечно-же URL

Остальные по желанию.
Смотрим html код странички , точнее фрагмент отвечающий за вывод формы:

<form action="tools.php?event=reguser" method="post"> <strong>Регистрация</strong> Имя:<span style="color: #ff0000;">*</span><input class="maxiinput" maxlength="25" name="login" /> Пароль:<span style="color: #ff0000;">*</span><input class="maxiinput" maxlength="25" name="password" type="password" /> E-mail:<span style="color: #ff0000;">*</span><input class="maxiinput" maxlength="40" name="email" /> Город:<input class="maxiinput" maxlength="60" name="gorod" /> URL:<input class="maxiinput" maxlength="40" name="url" /> ICQ:<input class="maxiinput" maxlength="15" name="icq" /> Телефон:<input class="maxiinput" maxlength="20" name="phone" /> Организация:<input class="maxiinput" maxlength="50" name="company" /> Коротко о себе:<textarea class="maxiinput" name="about"></textarea> <input name="rules" type="checkbox" />С <strong><a href="tools.php?event=about">правилами</a></strong> ознакомлен <input class="longok" type="submit" value="Зарегистрироваться" /> </form>

Обнаруживаем, что
Имени соответствует поле — login
Паролю — password
E-mail-у — email
галочке «С правилами ознакомлен» — rules
URL – url

Важно! Мы видим, что кроме вышеперечисленных полей есть еще и поля gorod, icq, phone, company, about – нам они не нужны, но если XRumer не будет знать как их заполнять, то форму он не заполнит и не отправит. Поэтому важно собрать все поля из формы, а в файле ассоциаций присвоим им пустое значение.

Все поля собраны, открываем справку по файлу ассоциаций xas.txt:


Синтаксис

#имя_поля1;имя_поля2;…
присваиваемое_значение

Где «имя_поля» — это имя поля формы в HTML (например, в

<input name="login" />

— имя поля это login), а «присваиваемое_значение» — то значение,
которым должны заполяться данные поля:

NICKNAME — никнейм пользователя
PASSWORD — пароль
MESSAGE — текст отправляемого сообщения
EMAIL — адрес электронной почты
SUBJ1 — заголовок топика
HOMEPAGE — домашняя страница
любое другое значение — значение, указанное пользователем


Прописываем правила в соответствии с синтаксисом:

#!mail;email
EMAIL
#url
HOMEPAGE
#login
NICKNAME
#password
PASSWORD
#gorod;icq;phone;company;about

#rules
1

Пояснений, пожалуй, требуют только последние строки. Поле rules у нас фактически чекбокс и приличный браузер должен отослать 1 если этот чекбокс отмечен, соответственно мы прописываем 1 в строке «присваиваемое_значение». Поля gorod, icq, phone, company, about мы решили не заполнять, соответственно оставляем там пустую строку (но заполнить их абсолютно не проблема, кому понадобится — может сделать в рамках закрепления пройденного материала).
Ну и отдельное ВНИМАНИЕ на поле email! Все заметили, что там появилось упоминание !mail ? Это фича XRumer-а , хотя она там и не нужна (по логике), но без нее ничего работать не будет… не пытайтесь это понять, просто запомните !mail; ставить надо полюбому.

Пришло время проверить чему мы там наобучали XRumer.
Создадим простейший тестовый проект – что-то типа этого:

Запускаем хрумер, в поле урла для тестирования вводим http://board.baxonet.com, жмем на кнопку Тест, закрываем хрумер.

Идем в папку Debug ищем там файл вида LAST GET idх.htm , просматриваем его в браузере, если видим надпись типа «Вы успешно зарегистрированы.» , значит все сделали правильно. Если не видим такой надписи – значит где-то допустили ошибку – проверяйте содержимое измененных файлов.
Теперь нам нужно объяснить Хрумеру , что наличие строки «Вы успешно зарегистрированы.» является 100 процентным признаком успешной регистрации. Для начала посмотрим наш файл в виде html — обнаруживаем, что для машины наш признак будет выглядеть так:

>, Вы успешно зарегистрированы. <

Теперь добавляем этот признак в файл xmessages.txt , для этого находим в нем строку
REGISTERED
И к строке находящейся над REGISTERED добавляем

;>, Вы успешно зарегистрированы. <

Все, Хрумер обучен регистрации на досках WR-Board.

Правда просто?

XRumer , ,

  1. NIM
    Декабрь 1st, 2008 at 21:14 | #1

    А если регистрация проходит в 2-3 этапа?

  2. Вадим
    Декабрь 3rd, 2008 at 16:44 | #2

    NIM, смотря какие 2 этапа.
    Есть вариант когда рега идет с 2 формами последовательно – там вообще без проблем (кстати на многих форумах такая рега) и вариант когда 2-й этап реги идет после активации (ссылко на активацию отправляется на мыло) – в этом случае нужно xpop.txt поправить.

  3. NIM
    Декабрь 3rd, 2008 at 17:16 | #3

    Может покажешь на примере в след статье, было бы полезно для всех

  4. Вадим
    Декабрь 5th, 2008 at 06:27 | #4

    NIM, кинь на форуме урл в личку. Желательно не раньше понедельника… а то несовсем понятно с чем проблема.

  1. Трэкбеков пока нет.
Комментарии закрыты.