Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ContentLength einer existirenden Seite ist -1??? (https://www.delphipraxis.net/41723-contentlength-einer-existirenden-seite-ist-1-a.html)

romber 7. Mär 2005 16:47


ContentLength einer existirenden Seite ist -1???
 
Hallo!

Delphi-Quellcode:
...
IdHTTP1.Head('http://www.dieseite.de'); //HIER kommt eine bestimmte Seite
Label1.Caption := IntToStr(IdHTTP1.Response.ContentLength);
...
Wie kann es sein, dass ContentLength einer existierenden Web-Seite -1 ist? :shock:

sakura 7. Mär 2005 16:53

Re: ContentLength einer existirenden Seite ist -1???
 
Dann wurde vom Server kein Wert übermittelt / bzw. ermittelt. Nach dem Ende der Übertragung bricht dieser einfach die Verbindung ab und man weiß, dass man alles hat. Kennst Du bestimmt von Dateidownloads, wo Dein Browser Dir auch keinen Fortschritt anzeigen kann, weil er die Größe nicht (korrekt) übermittelt bekommen hat.

...:cat:...

romber 7. Mär 2005 16:58

Re: ContentLength einer existirenden Seite ist -1???
 
Danke für schnelle Antwort!

Und was kann ich da machen, wenn ich den ContentLength doch haben möchte? Übrigens, was stört den Server die Größe des Objekts zu übermitteln?

Chewie 7. Mär 2005 17:00

Re: ContentLength einer existirenden Seite ist -1???
 
Zitat:

Zitat von romber
Und was kann ich da machen, wenn ich den ContentLength doch haben möchte?


Nix. Wenn der Server dir das nicht sagt, dann kriegst du es auch nicht raus. Na gut, außer durchs Runterladen und Zählen der Bytes natürlich ;)

sakura 7. Mär 2005 17:01

Re: ContentLength einer existirenden Seite ist -1???
 
Zitat:

Zitat von romber
Und was kann ich da machen, wenn ich den ContentLength doch haben möchte?

Alles runterladen und dann schauen. Anders geht es nicht.

Zitat:

Zitat von romber
Übrigens, was stört den Server die Größe des Objekts zu übermitteln?

Das kann zum Beispiel bei dynamischen Skripten vorkommen, wenn der Server vorher nicht weiß, was das Skript so alles schreiben wird. Auch Datenbankenseiten sind oft so erstellt, oder auch Download-Skripte agieren häufig so.

Der Server muss irgendwann anfangen die Daten auszuliefern. Wenn der Server zu diesem Zeitpunkt nicht weiß wieviel kommt, dann kann er es auch nicht sagen. Daher wir nach der Übertragung der Datei auch die Verbindung abgebrochen (trotz HTTP/1.1), damit der Client weiß, dass alles da ist.

...:cat:...

himitsu 7. Mär 2005 17:15

Re: ContentLength einer existirenden Seite ist -1???
 
[OT] Zum Glück hab ich mein DL-Script richtig programmiert, aber die Meisten machen es sich halt einfach und lassen ja solche Sachen einfach weg -.-''

romber 7. Mär 2005 19:37

Re: ContentLength einer existirenden Seite ist -1???
 
Gibt es außer HEAD eine andere Möglichkeit, die Größe der Seite zu ermitteln, ohne die ganze Seite zu laden?

alcaeus 7. Mär 2005 19:40

Re: ContentLength einer existirenden Seite ist -1???
 
Zitat:

Zitat von romber
Gibt es außer HEAD eine andere Möglichkeit, die Größe der Seite zu ermitteln, ohne die ganze Seite zu laden?

Nein. Viele Scripts z.B. senden dynamischen HTML-Output, und da weiss man am Anfang einfach nicht, wieviel kommen wird, und das auszurechnen waere natuerlich aufwaendig und von deiner Seite her nicht nachvollziehbar.
Lade einfach die Seite runter (in einen Stream mit idHttp.Get) und lass dir die Groesse des Streams ausgeben.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 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