Probleme mit IndyHTTP, usw



  • Moinsen zusammen,

    ich schreibe im Moment eine kleine Applikation, welche mit HTTP umgehen soll. Im Moment bin ich allerdings noch recht unentschlossen, welche Komponente ich nehmen soll: Indys HTTP oder eher die Variante von Fastnet?

    Ich habe beide Koponenten mit kleinen Beispielprogrammen einmal verglichen und dabei ist mir folgendes Aufgefallen:

    Wenn ich mit HTTP von Fastnet den Header auslese bekomme ich als Header EINEN String der ungefähr so aussieht:

    HTTP/1.1 200 OK
    Date: Sun, 09 Mar 2003 12:32:36 GMT
    Server: Apache/1.3.26 (Unix) mod_script
    Vary: Host
    Last-Modified: Sat, 08 Mar 2003 10:27:12 GMT
    ETag: "ef3862-1a36-3e69c580"
    Accept-Ranges: bytes
    Content-Length: 6710
    Connection: close
    Content-Type: text/html

    Mit Indys HTTP ist es nicht ganz so einfach, da muss man aus der Response erstmal die passenden Elemente heraussuchen 😞 deswegen stellt mein BSP-Programm erstmal alle Elemente dar:

    Accept: text/html, /
    AcceptCharSet:
    AcceptEncoding:
    AcceptLanguage:
    Connection:
    ContentEncoding :
    ContentLanguage:
    ContentRangeEnd:
    ContentRangeStart:
    ContentType: text/html
    ContentVersion:
    Date : 09.03.2003 13:38:41
    Expires: 01:00:00
    From:
    LastModified: 08.03.2003 11:27:12
    Location:
    Password:
    ProxyAuthenticate:
    ProxyPassword:
    ProxyPort:
    ProxyServer:
    ProxyUsername:
    Referer:
    Server: Apache/1.3.26 (Unix) mod_script
    UserAgent: Mozilla/3.0 (compatible; Indy Library)
    Username:
    WWWAuthenticate:

    Wie man sieht gibt es hier einige Informationen scheinbar nicht, wie zum Beispiel der ETag und die Content-Länge.

    Meine Fragen währen nun:
    - welche Komponente ist die Bessere?
    - wie Komme ich bei Indy an den Empfangenen Header
    - welche Vor-/Nachteile haben die beiden Komponenten?

    Danke schonmal im Vorraus

    Beechen



  • Moinsen nochmal,

    ich muss meine Frage nochmal umdefinieren *g*:

    Wenn ich mittels Indy HTTP->Head() mache, kann ich ja anschließend aus HTTP->Response->... die Antowort auslesen.

    Ich habe nun mal einen PacketSniffer laufen lassen uns sehe, das der Header wie oben beschrieben den Weg zu mir findet, doch leider sehe ich keine Möglichkeit diesen HTTP-Header auszugeben 😞

    HTTP->Response->... liefert nicht die gewünschten Informationen, die da währen:
    HTTP/1.1 200 OK
    Date: Sun, 09 Mar 2003 12:32:36 GMT
    Server: Apache/1.3.26 (Unix) mod_script
    Vary: Host
    Last-Modified: Sat, 08 Mar 2003 10:27:12 GMT
    ETag: "ef3862-1a36-3e69c580"
    Accept-Ranges: bytes
    Content-Length: 6710
    Connection: close
    Content-Type: text/html

    weis jemand, wie ich an eben diesen Block herankomme (mit Indy)?

    Danke Nochmal

    Beechen



  • :((

    hat bisher keiner von euch mit Indys HTTP gearbeitet? Oder sollte ich meine Frage noch etwas verbessern? Ich versuch es noch einmal:

    Ich schicke:

    HTTP->Head(meineurl.de);
    

    und möchte den (HTTP)Header bekommen. Das einzige was ich bereits gefunden habe, ist, dass ich anschließend per

    HTTP->Response->...
    

    Ein paar Infos über den empfangenen Header ergattern kann -- aber leider eben nicht alle:

    Der Header der erwiesenermaßen (durch PacketSniffer) ankommt sieht so aus:

    HTTP->Response->... liefert nicht die gewünschten Informationen, die da währen:

    HTTP/1.1 200 OK
    Date: Sun, 09 Mar 2003 12:32:36 GMT
    Server: Apache/1.3.26 (Unix) mod_script
    Vary: Host
    Last-Modified: Sat, 08 Mar 2003 10:27:12 GMT
    ETag: "ef3862-1a36-3e69c580"
    Accept-Ranges: bytes
    Content-Length: 6710
    Connection: close
    Content-Type: text/html

    aber durch Indy komme ich nicht an diese Infos heran!(?)

    Zum beispiel bleibt

    HTTP->Response->ContentLength
    

    bei Indy leer, nachdem empfangen wurde, aber mein PacketSniffer beweist, das diese Information an meinen Rechner gegangen ist.

    Ebenso finde ich beim besten Willen nicht wie ich an dieses ETag heran komme 😞

    Hat jemand einen Tipp, was ich falsch mache?

    Danke und Gute Nacht!

    Beechen


Anmelden zum Antworten