AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi idHTTP und Listview-Durchlauf//Auf Serverantwort warten
Thema durchsuchen
Ansicht
Themen-Optionen

idHTTP und Listview-Durchlauf//Auf Serverantwort warten

Ein Thema von MCXSC · begonnen am 4. Apr 2008 · letzter Beitrag vom 6. Apr 2008
Antwort Antwort
MCXSC
(Gast)

n/a Beiträge
 
#1

idHTTP und Listview-Durchlauf//Auf Serverantwort warten

  Alt 4. Apr 2008, 17:48
Hallo,

folgenden Code verwende ich um an einem Returncode zu gelangen:

Delphi-Quellcode:
function ReadReturncode(URL: String): String;
begin
  try
    Result := idHTTP1.Get(URL);
  except
    Exit;
  end;
end;
Nun lasse ich eine Listview durchlaufen, aus deren Caption wird die URL gebildet. Das funktioniert auch soweit.

Delphi-Quellcode:
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;
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.

Wie bekomme ich es hin, dass er der nächste Eintrag durchlaufen wird, wenn die Serveranfrage aus "ReadReturncode" fertig ist?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: idHTTP und Listview-Durchlauf//Auf Serverantwort warten

  Alt 4. Apr 2008, 18:27
Du solltest nicht die GET-Methode, sondern die HEAD-Methode benützen, um an den HTTP Status zu kommen:
Delphi-Quellcode:
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;
So wird nicht das ganze Dokument, sondern nur der Status (200 = OK, 404 = nicht vorhanden, ...) abgerufen.
Das ist viel schneller
Andreas
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#3

Re: idHTTP und Listview-Durchlauf//Auf Serverantwort warten

  Alt 4. Apr 2008, 18:44
Zitat von shmia:
Du solltest nicht die GET-Methode, sondern die HEAD-Methode benützen, um an den HTTP Status zu kommen:
Delphi-Quellcode:
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;
So wird nicht das ganze Dokument, sondern nur der Status (200 = OK, 404 = nicht vorhanden, ...) abgerufen.
Das ist viel schneller
Mal abgesehen davon, passiert würde da imho das Gleiche passieren. Und nein: Ich brauche das GET, da ein paar mySQL-Querys ausgeführt werden und ich daher Returncodes (z.B. 1=existiert schon; 2=eingetragen; 3=unbekannter fehler; etc.)...
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: idHTTP und Listview-Durchlauf//Auf Serverantwort warten

  Alt 6. Apr 2008, 02:23
Hi,

ich würde das ganze in einen oder mehrere Threads(einer je URL) auslagen.

Greetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz