|
Вопрос # 5 919/ вопрос открыт / |
|
Здравствуйте!
В целом вопрос состоит в отладке кода(извечное наверное "почему не работает, ведь всё правильно???", гуглил.):
Вот код
function TForm1.Pars(T_, ForS, _T: string): string;
var
a, b: Integer;
a, b: Integer;
begin
Result := '';
Result := '';
if (T_ = '') or (ForS = '') or (_T = '') then
if (T_ = '') or (ForS = '') or (_T = '') then
Exit;
Exit;
a := Pos(T_, ForS);
a := Pos(T_, ForS);
if a = 0 then
if a = 0 then
Exit
Exit
else
else
a := a + Length(T_);
a := a + Length(T_);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
ForS := Copy(ForS, a, Length(ForS) - a + 1);
b := Pos(_T, ForS);
b := Pos(_T, ForS);
if b > 0 then
if b > 0 then
Result := Copy(ForS, 1, b - 1);
Result := Copy(ForS, 1, b - 1);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Data := Tstringlist.Create;
Data := Tstringlist.Create;
Data.Add('data');
Data.Add('data');
Data.Add('login');
Data.Add('login');
Data.Add('_sourcePage=/WEB-INF/jsp_modern/user/register_with_car_selector_tab.jsp');
Data.Add('_sourcePage=/WEB-INF/jsp_modern/user/register_with_car_selector_tab.jsp');
Data.Add('ajax=False');
Data.Add('ajax=False');
Data.Add('userName=' + Edit3.Text);
Data.Add('userName=' + Edit3.Text);
Data.Add('password=' + Edit4.Text);
Data.Add('password=' + Edit4.Text);
IdHTTP1.Post(Edit6.Text+'/mitglieder/aktion/RegisterUser.html', Data);
IdHTTP1.Post(Edit6.Text+'/mitglieder/aktion/RegisterUser.html', Data);
IdHTTP1.Request.Host := Edit6.Text;
IdHTTP1.Request.Host := Edit6.Text;
IdHTTP1.Request.UserAgent :=
IdHTTP1.Request.UserAgent :=
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
IdHTTP1.Request.Accept := 'application/xml, text/xml, */*';
IdHTTP1.Request.Accept := 'application/xml, text/xml, */*';
IdHTTP1.Request.AcceptLanguage := 'en-gb,en;q=0.5';
IdHTTP1.Request.AcceptLanguage := 'en-gb,en;q=0.5';
IdHTTP1.Request.AcceptEncoding := 'gzip,deflate';
IdHTTP1.Request.AcceptEncoding := 'gzip,deflate';
IdHTTP1.Request.AcceptCharset := 'ISO-8859-1,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.AcceptCharset := 'ISO-8859-1,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.Connection := 'keep-alive';
IdHTTP1.Request.Connection := 'keep-alive';
IdHTTP1.Request.ContentType :=
IdHTTP1.Request.ContentType :=
'application/x-www-form-urlencoded; charset=UTF-8';
'application/x-www-form-urlencoded; charset=UTF-8';
IdHTTP1.Request.Referer := Edit6.Text;
IdHTTP1.Request.Referer := Edit6.Text;
IdHTTP1.Request.Pragma := 'no-cache';
IdHTTP1.Request.Pragma := 'no-cache';
IdHTTP1.Request.CacheControl := 'no-cache';
IdHTTP1.Request.CacheControl := 'no-cache';
try
try
Request := IdHTTP1.Post(Edit6.Text, Data);
Request := IdHTTP1.Post(Edit6.Text, Data);
s:=IdHTTP1.Post(Edit6.Text+'/mitglieder/aktion/RegisterUser.html', Data);
s:=IdHTTP1.Post(Edit6.Text+'/mitglieder/aktion/RegisterUser.html', Data);
if Pos(Edit3.Text,s)<> 0 then
if Pos(Edit3.Text,s)<> 0 then
begin
begin
Offline.Font.Color := cLlime;
Offline.Font.Color := cLlime;
Offline.Caption := 'Online';
Offline.Caption := 'Online';
end;
end;
p:=IdHTTP1.Get('http://www.motor-talk.de/mitglieder/aktion/LoginUser.html?userName='+Edit3.Text+'&login&password='+edit4.Text);
p:=IdHTTP1.Get('http://www.motor-talk.de/mitglieder/aktion/LoginUser.html?userName='+Edit3.Text+'&login&password='+edit4.Text);
if Pos(Edit3.Text,p)<> 0 then
if Pos(Edit3.Text,p)<> 0 then
begin
begin
Offline.Font.Color := cLlime;
Offline.Font.Color := cLlime;
Offline.Caption := 'Online';
Offline.Caption := 'Online';
end;
end;
g := Pars('alt="', Edit3.Text, '" src="http://avatars.motor-talk.de/data/avatars/20/2058431.gif"/>');
g := Pars('alt="', Edit3.Text, '" src="http://avatars.motor-talk.de/data/avatars/20/2058431.gif"/>');
Memo2.Clear;
Memo2.Clear;
Memo2.Lines.Add(s);
Memo2.Lines.Add(s);
Memo2.Lines.Add('----------------------------------------------------');
Memo2.Lines.Add('----------------------------------------------------');
Memo2.Lines.Add(p+'=Результат.');
Memo2.Lines.Add(p+'=Результат.');
Memo2.Lines.Add('----------------------------------------------------');
Memo2.Lines.Add('----------------------------------------------------');
Memo2.Lines.Add(g+'=Результат.');
Memo2.Lines.Add(g+'=Результат.');
finally
finally
Data.Clear;
Data.Clear;
Request := '';
Request := '';
s := '';
s := '';
g := '';
g := '';
p := '';
p := '';
end;
end;
end;
на всякий пожарный ссылка на пастебин http://pastebin.com/W8Ky0PMm
[HR]
На исполнение данного кода почему то выдаёт все время вот такую мутатень(http://pastebin.com/wNU3gYfv), вместо нормальной авторизации.
Вроде адресацию компонентов правильно сделал.
В idHTTP1 указал Cookie Maneger= IdCookieManager1, allow cookies=true, handle redirects=true, по идее всё должно работать корректно, но почемуто отказывается подчинится... Помогите пожалуйста, может незамыленным взглядом ошибка сразу видна будет???
 |
Вопрос задал: winner13 (статус: 1-ый класс)
Вопрос отправлен: 30 января 2012, 09:34
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 30 января 2012, 17:12; участников в обсуждении: 4.
|
Вадим К (статус: Академик), 30 января 2012, 12:00 [#1]:
То, что строки повторяются, это глюк?
А кукисы не работают по одной причине - они в инди не работают. Я мучился в свое время с несколькими разными версиями в разных вариантах - не сохраняет оно кукисы корректно и потом передает их криво.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
winner13 (статус: 1-ый класс), 30 января 2012, 12:30 [#2]:
Со строчками кажется да, у меня всё по одной штучке было.
По сабжу: А какой выход??? Намучался очень, а заказчик подгоняет со здачей проекта... Не в кIdCookieManage.pas же лезть в самом деле ...
Не решимых проблем нет, есть неприятные для нас решения.
|
|
bugmenot (статус: 3-ий класс), 30 января 2012, 12:37 [#3]:
Черт, похоже, я случайно коньяку в кофе налил
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
Ерёмин А.А. (статус: *Администратор), 30 января 2012, 17:12 [#4]:
Цитата (winner13):
Со строчками кажется да, у меня всё по одной штучке было.
Сайт не виноват, ищите проблему в себе
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|