
27.06.2011, 01:00
|
|
Участник форума
Регистрация: 12.08.2010
Сообщений: 274
С нами:
8289686
Репутация:
89
|
|
Меняем пароль у ICQ номера через оф.сайт icq.com. В memo3 лист вида uin;pass в edit3 новый пароль,..
code:
for j:=0 to memo3.lines.Count-1 do begin
uin:=copy(memo3.lines[j],1,pos(';',memo3.lines[j])-1);
pass:=copy(memo3.lines[j],pos(';',memo3.lines[j])+1,length(memo3.lines[j]));
/////////////////// Гетим и парсим карму ////////////////////////////
memo3.lines[j]:=uin+';'+pass+' - Get session';
try
memo1.lines.Text:=Utf8ToAnsi(idhttp1.get('https://www.icq.com/login/ru?dest=/change-password/ru'));
except
memo3.lines[j]:=uin+';'+pass+' - error';
continue;
end;
memo3.lines[j]:=uin+';'+pass+' - Ok'; application.ProcessMessages();
karma:=copy(memo1.Lines.text,pos('karmaSyncKey" value="',memo1.lines.text)+21,64);
//////////// 1 POST запрос - авторизация ///////////////////////////
memo3.lines[j]:=uin+';'+pass+' - Authorization';
ts:=tstringlist.Create();
ts.add('karmaSyncKey='+karma);
ts.add('dest=');
ts.add('emailuin='+uin);
ts.add('password='+pass);
ts.add('remember_me=');
IdHTTP1.Request.ContentLength:=sizeof(ts.text);
try
memo1.lines.Text:=Utf8ToAnsi(idhttp1.post('https://www.icq.com/login/ru',ts));
except
memo3.lines[j]:=uin+';'+pass+' - error';
continue;
end;
memo3.lines[j]:=uin+';'+pass+' - Ok'; application.ProcessMessages();
//////////////// 2 GET запрос - получаем карму ////////////////////////
memo3.lines[j]:=uin+';'+pass+' - Change password';
try
memo1.lines.Text:=Utf8ToAnsi(idhttp1.get('https://www.icq.com/change-password/ru'));
except
memo3.lines[j]:=uin+';'+pass+' - error';
continue;
end;
application.ProcessMessages();
karma:=copy(memo1.Lines.text,pos('karmaSyncKey" value="',memo1.lines.text)+21,64);
////////////// ПОСЛЕДНИЙ POST запрос- меняем пасс ///////////////////////
ts.Clear;
ts.add('karmaSyncKey='+karma);
ts.add('first_name=');
ts.add('last_name=');
ts.add('email=');
ts.add('current_password='+pass);
ts.add('password='+edit3.text);
ts.add('retype_password='+edit3.text);
IdHTTP1.Request.ContentLength:=sizeof(ts.text);
try
memo1.lines.Text:=Utf8ToAnsi(idhttp1.post('https://www.icq.com/change-password/ru',ts));
if pos('Пароль был успешно изменен',memo1.lines.text) > 0 then begin
memo3.lines[j]:=uin+';'+pass+' - Ok';
memo4.lines.add(uin+';'+edit3.text);
continue;
end else
memo3.lines[j]:=uin+';'+pass+' - No';
except
memo3.lines[j]:=uin+';'+pass+' - error';
continue;
end;
end;
showmessage('Completed!');
код совсем сырой и не оптимизированный )
код на делфи..
p/s
есть вариант с synapse* и более модифированный, выложу весь проект если это кому интересно )
Delphi 7
|
|
|