![]() |
idHTTP und Listview-Durchlauf//Auf Serverantwort warten
Hallo,
folgenden Code verwende ich um an einem Returncode zu gelangen:
Delphi-Quellcode:
Nun lasse ich eine Listview durchlaufen, aus deren Caption wird die URL gebildet. Das funktioniert auch soweit.
function ReadReturncode(URL: String): String;
begin try Result := idHTTP1.Get(URL); except Exit; end; end;
Delphi-Quellcode:
Das Problem: Der Durchlauf der Einträge und die Übergabe des Listview-Eintrags ist zu schnell, als dass der HTTP-Server für jeden einen Code zurückgeben kann.
procedure Listedurchlaufen;
var Titel, Returncode: String; i: Integer; begin with Mainform do begin for i:=0 to ListView.Items.Count-1 do begin Returncode := ReadReturncode('http://www.domain.de/index.php?titel='+ListView.Items[i].Caption; Showmessage(Returncode); end; end; end; Wie bekomme ich es hin, dass er der nächste Eintrag durchlaufen wird, wenn die Serveranfrage aus "ReadReturncode" fertig ist? |
Re: idHTTP und Listview-Durchlauf//Auf Serverantwort warten
Du solltest nicht die GET-Methode, sondern die HEAD-Methode benützen, um an den HTTP Status zu kommen:
Delphi-Quellcode:
So wird nicht das ganze Dokument, sondern nur der Status (200 = OK, 404 = nicht vorhanden, ...) abgerufen.
function GettHTTP_Status(const URL: String): String; // Ersatz für ReadReturncode
begin try Result := idHTTP1.Head(URL); except E:Exception do result := E.Message; end; end; Das ist viel schneller ;-) |
Re: idHTTP und Listview-Durchlauf//Auf Serverantwort warten
Zitat:
|
Re: idHTTP und Listview-Durchlauf//Auf Serverantwort warten
Hi,
ich würde das ganze in einen oder mehrere Threads(einer je URL) auslagen. Greetz Data |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz