Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

по поводу получения Http контента   Найти похожие ветки 

 
Lex_! ©   (2005-05-11 08:17) [0]

procedure TForm1.Button1Click(Sender: TObject);
var
vHttp: OleVariant;
vHtml: string;
begin
Memo1.Clear;
vHttp := CreateOleObject("Microsoft.XMLHTTP"); { Requires IE5 }
try
  vHttp.open("GET", "http://capitalcity.combats.ru/inf.pl?login=Enzain&short=1", False, EmptyParam, EmptyParam);
  vHttp.send("");
  vHtml := vHttp.responseText;
except
  try
   vHttp.open("GET", "http://sandcity.combats.ru/inf.pl?login=Enzain&short=1", False, EmptyParam, EmptyParam);
   vHttp.send("");
   vHtml := vHttp.responseText;
  except
     try

     except
     end;
  end;
end;
memo1.Lines.Text:=vHtml;
end;

такой вариант работает нормально ....
а вот такой:
procedure TMainForm.Button2Click(Sender: TObject);
var
vHttp: OleVariant;
vHtml: string;
i:integer;
ci:integer;
url:string;
limit:boolean;
str:TStringList;
begin
str:=TStringList.Create;
str.Text:="";
For i:=1 to dm.alllogins.RecordCount do
     begin
         limit:=false;
         ci:=1;
         dm.alllogins.RecNo:=i;
         str.Text:="";
         while (str.Text="") and (limit=false) do
             begin
             dm.citys.RecNo:=ci;
             url:=dm.citys.FieldByName("city").AsString+"inf.pl?short=1&login=";
             url:=url+dm.alllogins.FieldByName("Login").AsString;
              try
               vHttp := CreateOleObject("Microsoft.XMLHTTP"); { Requires IE5 }
               vHttp.open("GET", url, False, EmptyParam, EmptyParam);
               vHttp.send("");
               str.Text := vHttp.responseText;
               vHttp.free;
               ShowMessage(str.Text);
              except
              ci:=ci+1;
              if ci>dm.citys.RecordCount then limit:=true;
              end;
             end;
     if limit=false then
         begin
         dm.alllogins.Edit;
         dm.alllogins.FieldByName("city").AsString:=str.Values["gamecity"];
         dm.alllogins.FieldByName("status").AsString:=str.Values["login_online"];
         dm.alllogins.Post
         end;
     end;
end;

просто ничего не возвращает и все... в чем проблема не знаю ...
первый вариант на второй раз дает результат, во втором варианте есть такая же ссылка и она не открывается получается


 
Lex_! ©   (2005-05-11 08:18) [1]

последний фрагмент про базу можно не рассматривать.
оно просто ничего не выводит и все (ShowMessage(str.Text);)


 
VMcL ©   (2005-05-11 08:25) [2]

>vHttp.free;

Убрать.


 
Lex_! ©   (2005-05-11 08:30) [3]


> VMcL

это в качестве эксперимента было без него такая же ерунда... убрал .. то же самое... до него просто не доходит ...


 
VMcL ©   (2005-05-11 10:14) [4]

>>Lex_! ©   (11.05.05 08:30) [3]

>то же самое... до него просто не доходит ...

И в каком месте падает нужно угадать?


 
Lex_! ©   (2005-05-11 13:00) [5]

Вообще тут:
   vHttp.open("GET", url, False, EmptyParam, EmptyParam);
   vHttp.send("");

там ошибка и до следующего не доходит (ошибка если не отвечает страница или редирект, так вот не отвечает или редирект на всех построенных с базы адресах, но они верны это точно.)

Тема закрыта в общем всем спасибо. Грабли нашлись.



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
14-1122850334
Pavel__
2005-08-01 02:52
2005.08.21
try...except и try...finally


1-1122497703
SpyBoy
2005-07-28 00:55
2005.08.21
Качественный текст


4-1119958510
Pearled
2005-06-28 15:35
2005.08.21
Установка разрешений доступа к какталогу


1-1122927636
SpyBoy
2005-08-02 00:20
2005.08.21
Текстовый редактор не работает!!!


3-1121240086
Stanislav
2005-07-13 11:34
2005.08.21
Timeout при выполнении ХП