Доброго времени суток!
Я знаю, что этот вопрос поднимался не один и не десять раз, но мне нужна помощь. Нашел в интернете готовые исходные коды авторизации, но ни один из них
не работает (логин и пароль вожу вверно)! Помогите разобраться. Вот код, который я немного подправил:
Код:
procedure TConverterForm.LoginPageButtonClick(Sender: TObject);
const
ValueProp = 'value=''';
var
QueryData: TStringList;
PageProfile: String;
ErrorRaised: Boolean;
HashCode: String;
begin
QueryData := TStringList.Create;
try
with QueryData do
begin
Add('email=логин');
Add('pass=пароль');
Add('expire=0');
Add('vk=1');
end;
try
HTTPQuery.HandleRedirects := False;
PageProfile := HTTPQuery.Post('http://login.vk.com/?act=login', QueryData);
ErrorRaised := False;
except
on E: Exception do
begin
ErrorRaised := True;
PageProfile := 'Ошибка: ' + E.ClassName + ', ' + E.Message;
end;
end;
if ErrorRaised then Exit;
with QueryData do
begin
Clear;
HashCode := Copy(PageProfile, Pos(ValueProp, PageProfile) + Length(ValueProp), 60);
HashEdit.Text := HashCode;
Add('s=' + HashCode);
Add('op=slogin');
Add('redirect=1');
Add('expire=0');
Add('to=');
end;
try
HTTPQuery.HandleRedirects := True;
PageProfile := HTTPQuery.Post('http://vkontakte.ru/login.php', QueryData);
if Pos('logout', PageProfile) <> 0 then
MessageBox(0, 'Авторизация на сайте ВКонтакте удалась!', 'Информация', MB_ICONINFORMATION)
else
MessageBox(0, 'Ошибка! Авторизация на сайте ВКонтакте неудалась!', 'Внимание', MB_ICONEXCLAMATION);
except
on E: Exception do
begin
ErrorRaised := True;
PageProfile := 'Ошибка: ' + E.ClassName + ', ' + E.Message;
end;
end;
finally
QueryMemo.Text := PageProfile;
QueryData.Free;
end;
end;
HTTPQuery = TIdHTTP -

QueryMemo = TMemo - результат запроса
HashEdit = TEdit - HASH-код авторизации
Заранее спасибо!