|
Авторизация в ДО на delphi - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
07.03.2011, 19:22
|
#1
|
|
|
|
Пехотинец
|
Регистрация: 05.12.2010
Сообщений: 86
Популярность: 150
Сказал(а) спасибо: 112
Поблагодарили 62 раз(а) в 27 сообщениях
|
Авторизация в ДО на delphi
|
|
|
Пользователь сказал cпасибо:
|
|
23.03.2011, 02:01
|
#2
|
|
|
|
Рыцарь-защитник
|
Регистрация: 14.06.2010
Сообщений: 584
Популярность: 6626
Сказал(а) спасибо: 86
Поблагодарили 847 раз(а) в 266 сообщениях
|
Re: Авторизация в ДО на delphi
|
Цитата: |
|
|
|
|
|
|
|
|
|
Я Пытаюсь авторизоваться в ДО через delphi Но не могу понять как выбрать нужный сервер и получить sid.
Как мне лучше авторизацию оформить? И главное как получить сид?
|
|
|
|
|
|
Разъясняю вкратце
Код:
procedure TForm1.Button1Click(Sender: TObject);
var data: TStringList;
html: string;
begin
data := TStringList.Create;
IdHTTP1.Get('http://www.darkorbit.com/favicon.ico'); - ты только что скачал картинку не имеющую никакого отношения к авторизации+ данная строка вообще тут нафиг не нужна!
data.Add('loginForm_default_username=ololoi70');
data.Add('loginForm_default_password=12345');
html := IdHTTP1.Post('http://darkorbit.bigpoint.com/?locale=ru&aid=0', data);
if Pos('exitURL', html)<>0 then Label1.Caption := 'Залогинелись'
else Label1.Caption := 'НЕ Залогинелись';
две строчки выше вообще идиотизм тк не залогинелся в принципе!
end;
А теперь нормальный код по нажатию на батон:
Код:
procedure TForm1.Button1Click(Sender:TObject);
var
html:string;
data:tstringlist;
begin
data:=TStringList.Create;
data.Add('loginForm_default_username=ololoi70');
data.Add('loginForm_default_password=12345');
html:=idHTTP1.Post('http://darkorbit.com', data);
if Pos('exitURL', html)<>0 then Label1.Caption:='Success'
else
Label1.Caption:='Fail';
data.Free;
end;
таким образом ты зайдешь на страничку выбора сервера.
З.Ы. Писал от руки прямо тут!
Добавлено через 2 минуты
Когда допрет как дальше делать, не забудь включить редирект
Последний раз редактировалось Mebius; 23.03.2011 в 02:04.
Причина: Добавлено сообщение
|
|
|
Пользователь сказал cпасибо:
|
|
25.03.2011, 10:05
|
#3
|
|
|
|
Сержант
|
Регистрация: 13.03.2011
Сообщений: 118
Популярность: 1812
Сказал(а) спасибо: 102
Поблагодарили 305 раз(а) в 76 сообщениях
|
Re: Авторизация в ДО на delphi
Последний раз редактировалось АзЕсмьЦарь; 25.03.2011 в 10:08.
|
|
|
17.03.2012, 17:15
|
#4
|
|
|
|
Разведчик
|
Регистрация: 26.08.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Авторизация в ДО на delphi
var
A,B,C:string;
Data:TstringList;
begin
Data:=tstringlist.create;
Data.Add('loginForm_default_username='+Edit1.Text) ;
Data.Add('loginForm_default_password='+Edit2.Text) ;
A:=form1.idhttp1.post('http://darkorbit.bigpoint.com/?locale=ru&aid=0',data);
B:=pars('http://'+edit3.Text+'.darkorbit.bigpoint.com/GameAPI.php?req=',A,'&ref_pid=');
C:=form1.idhttp1.Get('http://'+edit3.text+'.darkorbit.bigpoint.com/GameAPI.php?req='+B);
if pos('logout',C) > 0 Then
begin
Memo1.Lines.Add('Авторизация завершена');
Memo1.Lines.Add(copy(C,pos('dosid=',C)+6,32));
end
else
Memo1.Lines.Add('Неверные данные');
function TForm1.pars(z, s, x: string): string;
var
p:integer;
c:string;
begin
c:=copy(s,pos(z,s)+length(z),length(s)-pos(z,s)-length(z));
p:=pos(x,c);
result:=copy(c,1,p-1);
end;
Последний раз редактировалось Slavaberezin; 17.03.2012 в 17:18.
|
|
|
17.03.2012, 21:01
|
#5
|
|
|
|
Пехотинец
|
Регистрация: 11.11.2010
Сообщений: 95
Популярность: 188
Сказал(а) спасибо: 106
Поблагодарили 111 раз(а) в 70 сообщениях
|
Re: Авторизация в ДО на delphi
|
Цитата: |
|
|
|
|
Сообщение от Slavaberezin |
|
|
|
|
|
|
|
var
A,B,C:string;
Data:TstringList;
begin
Data:=tstringlist.create;
Data.Add('loginForm_default_username='+Edit1.Text) ;
Data.Add('loginForm_default_password='+Edit2.Text) ;
A:=form1.idhttp1.post('http://darkorbit.bigpoint.com/?locale=ru&aid=0',data);
B:=pars('http://'+edit3.Text+'.darkorbit.bigpoint.com/GameAPI.php?req=',A,'&ref_pid=');
C:=form1.idhttp1.Get('http://'+edit3.text+'.darkorbit.bigpoint.com/GameAPI.php?req='+B);
if pos('logout',C) > 0 Then
begin
Memo1.Lines.Add('Авторизация завершена');
Memo1.Lines.Add(copy(C,pos('dosid=',C)+6,32));
end
else
Memo1.Lines.Add('Неверные данные');
function TForm1.pars(z, s, x: string): string;
var
p:integer;
c:string;
begin
c:=copy(s,pos(z,s)+length(z),length(s)-pos(z,s)-length(z));
p:=pos(x,c);
result:=copy(c,1,p-1);
end;
|
|
|
|
|
|
нахрена для каждого нового линка новая переменная? неужели трудно записывать все линки в 1 переменную?
|
|
|
19.03.2012, 16:55
|
#6
|
|
|
|
Разведчик
|
Регистрация: 26.08.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Авторизация в ДО на delphi
1)Если тебе надо с одной переменной, то и делай с одной. Я тут причём ?
2)С одной переменной никаким раком не получится, нужно как минимум 2: TstringList; и String.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 04:00.
|
|