Добрый день. Есть желание разобраться в механизме и написать свой сабмиттер (на примере регистрации в каталогах) Но информации по этому вопросу не могу найти. Поделитесь у кого что есть или подскажите в каком направлении копать. Обещаю делиться наработками.
А что советовать Бери код страницы интересующих каталогов, и смотри что куда как отправляется. потом бери любую компоненту по работе с сетью и пиши на ней. Потом снифер и дебагер в руки и отлаживать, отлаживать, отлаживать.
Смотри значит, я тоже когда-то интересовался этой темой, в основном тут заложены одни парсеры, тоесть твоя программа должна рыть всю страницу и распознаватель формы: Например форма cообщения:<input type="text" size="9" maxlength="100" name="message" id="message"> значит робот вставляет сюда сообщение. Также нужна можно сделать функцию изучения, чтобы допустим тебе доска попалась которая не забита в твоем роботе пользователь ее сам заполняет и запоминает форму чтобы распознать их в следующий раз, ну это все что я узнал когда то
вы ваще чтоли тут охренели? ты булками поработай с гуглом давай еще стартани топик о том что ты собираешься написать через месяц
и так, покажу на примере: допустим мы хотим залогиниться в mail.ru программно через вэбформу. идем на мэйль ру, на страницу входа http://win.mail.ru/cgi-bin/login,(можно и на главную но там много параши в html коде, и трудно разобраться)) открываем исходный код страницы и ищем описание формы входа. вот оно: HTML: <form method="post" action="http://win.mail.ru/cgi-bin/auth" name="Auth" onSubmit="return CheckForm(this);"> <input type="hidden" name="page" value=""> <input type="hidden" name="post" value=""> <input type="hidden" name="login_from" value=""> <tr> <td><img src=http://img.imgsmail.ru/0.gif width=55 height=1><br>Имя</td> <td width=63%><input type="text" name="Login" value="" class=w_100></td> <td width=37%><select class=w_100 name="Domain"><option value="mail.ru" SELECTED>@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="bk.ru" >@bk.ru</option><option value="list.ru" >@list.ru</option></select></td> </tr> <tr> <td>Пароль</td> <td colspan=2> <div id="tooltipAuth_shell" class="tooltip" style="display: none;"><div id="tooltipAuth_tail" class="tail"></div><div class="ltc"></div><div class="rtc"></div><div class="ts"></div><div class="inner"><div class="rborder"> <div id="tooltipAuth_mess" class="mess"> <span id="tooltipAuth_mess_var">Вы вводите русские буквы</span> <span id="tooltipAuth_mess_var2" style="display: none;">Включен Caps Lock</span> <span id="tooltipAuth_mess_var3" style="display: none;">Пароль содержит русские буквы</span> </div> <div id="tooltipAuth_struter" class="struter"></div></div></div><div class="lbc"></div><div class="rbc"></div><div class="bs"></div></div> <table width=100% cellpadding=0 cellspacing=0 border=0><tr> <td width=100%><input type="password" name="Password" class=w_100></td> <td> <a href="http://www.mail.ru/pages/help/2.html#2185" target=_new>Забыли пароль?</a></td> </tr></table> </td> </tr> <tr> <td> </td> <td><input type=checkbox name="level" value=1 id="alien"><label for="alien">Чужой компьютер</label></td> <td> </td> </tr> <tr> <td> </td> <td><input id="EnterBtn" type="Submit" value=" Войти " style="margin-top:4px"></td> <td> </td> </tr></form> если уберем все лишнее получим: HTML: <form method="post" action="http://win.mail.ru/cgi-bin/auth" name="Auth"> <input type="hidden" name="page" value=""> <input type="hidden" name="post" value=""> <input type="hidden" name="login_from" value=""> <input type="text" name="Login" value="" class=w_100> <select class=w_100 name="Domain"><option value="mail.ru" SELECTED>@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="bk.ru" >@bk.ru</option><option value="list.ru" >@list.ru</option></select> <input type="password" name="Password" class=w_100> <input type=checkbox name="level" value=1 id="alien"> <input id="EnterBtn" type="Submit" value=" Войти " style="margin-top:4px"> </form> отсюда мы видим, что данные передаються скрипту http://win.mail.ru/cgi-bin/auth методом post. все. теперь стартуем delphi, кидаем компонентв idhttp, memo и кнопку на форму, и пишем на нажатие кнопки код(я не проверял работоспособность , но суть такая): Code: procedure TForm1.Button1Click(Sender: TObject); begin memo1.Lines.Clear; memo1.Lines.Add('Login=v.vova15'); memo1.Lines.Add('Domain=mail.ru'); memo1.Lines.Add('Password=btf7xkjbc9'); memo1.Lines.Add('level=1'); idhttp1.AllowCookies:=true; memo2.Text:=idhttp1.Post('http://win.mail.ru/cgi-bin/auth',memo1.Lines); end; end.
realcoder, А не проще снифать пакеты и смотреть чего браузер отправляет? А потом просто повторить его действия.
Jakeroid не разговаривай с ботом это же копипаст, да еще и наглый копипаст - без копирайтов и ссылки на источник.
Jakeroid, зачем ковырять в пакеты, когда можно просто послать http запрос. GhostOnline, какой копипаст?! чтобы такое написать достаточно просто знать основы работы протокола http и уметь работать с Indy.
realcoder IdHttp, авторизация на mail.ru, разбор полей ввода в форме авторизации - где-то я такое уже видел