Http.Create(nil);
HTTP.HandleRedirects:=True;
Sock.Active := False;
try
HTTP.ProtocolVersion:=PV1_1;
HTTP.HandleRedirects:=True;
HTTP.Request.ContentType:='text/html; charset=UTF-8';
HTTP.Request.UserAgent:='Mozilla/4.0.(compatible;.MSIE.6.0;.Windows.NT.5.1;.SV1;.NE T.CLR.1.1.4322)';
Data := TStringList.Create;
Data.Clear;
Data.Add('loginForm_default_username='+Nick);
Data.Add('loginForm_default_password='+Pass);
Data.Add('loginForm_default_login_submit=Вход');
Add('Запрос на сервер...');
s:=HTTP.Post('http://www.darkorbit.com/?locale=ru&aid=333&aip=STPACK',Data);
Data.Free;
if Pos('Выбери сервер, на котором хочешь играть: <a href="/">Отмена',S)<>0 then begin
Add('Данные верные!') end else add('Данные не верные!');
Reg.Expression := 'http://'+Srv+'\.darkorbit\.bigpoint\.com/GameAPI\.php\?req=(.*?)">';
if Reg.Exec(S) then
begin
s := Reg.Match[1];
SetLength(S,Length(S)-2);
S := HTTP.Get('http://'+Srv+'.darkorbit.bigpoint.com/GameAPI.php?req='+S);
if Pos('span', S) <> 0 then
Add('Вход успешен')
else
begin
Add('Войти на сервер не удалось!');
Exit;
end;
end;
begin
S := HTTP.Get('http://'+SRV+'.darkorbit.bigpoint.com/indexInternal.es?action=internalStart');
Add('Вошли на сервер');
Reg.Expression := 'Текущая позиция: </div><div class="userInfo_right">([0-9]-[0-9])</div><br class="clearMe" />';
if Reg.Exec(S) then Map := Reg.Match[1] else begin Add('Не удалось найти текущее положение!'); Exit; end;
Reg.Expression := 'dosid=(.*?)'#39';';
if Reg.Exec(S) then SID := Reg.Match[1] else begin Add('Не удалось найти SID!'); Exit; end;
add (SID);
button3.Enabled:=true;
Reg.Expression := '<span>(.*?)</span>';
if Reg.Exec(S) then ID := StrToInt(Reg.Match[1]) else begin Add('Не удалось найти ID!'); Exit; end;
Add('Данные получены');
loginToGame;
end;
except
Add('Ошибка при входе!');
end;
end;
авторизация на делфи ,хз работает или нет ,уже давно ничё не пишу для ДО ,да и не охота чтото писать , там не сложно код подправить чтоб авторизовывался
и кстате автор ты как проверяешь авторизовалась программа или нет?