Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Domainname bzw. IP-Adresse bekommen (https://www.delphipraxis.net/78308-domainname-bzw-ip-adresse-bekommen.html)

SnuffMaster23 3. Okt 2006 13:22

Re: Domainname bzw. IP-Adresse bekommen
 
Oh sorry, sollte wohl genauer lesen :oops:
Beim TiDHTTPServer gibts das, beim Proxy wohl nicht.

Aber im Header müsste es eigentlich drinstehen.
Ansonsten musst du den Request auslesen den der Proxy weiterleiten soll.

Andreas L. 3. Okt 2006 16:00

Re: Domainname bzw. IP-Adresse bekommen
 
Zitat:

Zitat von SnuffMaster23
Oh sorry, sollte wohl genauer lesen :oops:
Beim TiDHTTPServer gibts das, beim Proxy wohl nicht.

Aber im Header müsste es eigentlich drinstehen.
Ansonsten musst du den Request auslesen den der Proxy weiterleiten soll.


Ist aber nicht im Header. Wie komme ich an den Request ran?

SnuffMaster23 3. Okt 2006 16:09

Re: Domainname bzw. IP-Adresse bekommen
 
Keine Ahnung, hab den Proxy noch nie benutzt.
War auch nur ne Vermutung.

Vielleicht kriegsts über die zugrunde liegende TCP-Verbindung.

alcaeus 3. Okt 2006 16:15

Re: Domainname bzw. IP-Adresse bekommen
 
Zitat:

Zitat von SnuffMaster23
Vielleicht kriegsts über die zugrunde liegende TCP-Verbindung.

Dann aber nur ueber hintenrum und drei Mal um die Ecke, indem die Daten manuell ausgelesen werden. TCP hat keinen Plan von HTTP-Requests ;)

BTW, das und die erste Antwort klingen nicht wirklich ermutigend :-|

Greetz
alcaeus

SnuffMaster23 3. Okt 2006 16:39

Re: Domainname bzw. IP-Adresse bekommen
 
Naja, die TCP-Verbindung weiß ja mit wem sie Verbunden ist, sonst wärs keine Verbindung.
Dazu braucht sie auch nix von HTTP zu wissen.

Ansonsten würd ich sagen, statt TidHTTPProxyServer nen TidHTTPClient und TidHTTPServer nehmen ;)
Dann kriegst alle Infos, kannst Requests filtern, blocken, loggen, cachen...

Andreas L. 3. Okt 2006 16:43

Re: Domainname bzw. IP-Adresse bekommen
 
Aber irgendwo im inneren der Komponente muss ja der Host mal auftauchen. ich habe da die Variable LRemoteHost in IdHTTPProxyServer.pas gefunden. Leider weiß ich nicht wie ich die public machen kann damit ich den Wert von der Komponente bekomme.

Andreas L. 3. Okt 2006 16:44

Re: Domainname bzw. IP-Adresse bekommen
 
Zitat:

Zitat von SnuffMaster23
Naja, die TCP-Verbindung weiß ja mit wem sie Verbunden ist, sonst wärs keine Verbindung.
Dazu braucht sie auch nix von HTTP zu wissen.

Ansonsten würd ich sagen, statt TidHTTPProxyServer nen TidHTTPClient und TidHTTPServer nehmen ;)
Dann kriegst alle Infos, kannst Requests filtern, blocken, loggen, cachen...

Und wie genau muss ich die verwenden? Ich kenne mich mit den Indys eigentlich überhaupt nicht aus.....

SnuffMaster23 3. Okt 2006 16:49

Re: Domainname bzw. IP-Adresse bekommen
 
Naja, der Server kriegt ein Request rein, das lässt du gleich den Client wieder an den eigentlichen Ziel-Server wegschicken.

Wenn der CLient dann ne Antwort kriegt gibt der Server das als Response her.

Aber ich hab mal wieder keine Ahnung ob das geht, ich nehm ja an dass ein Proxy-Request ein getunnelter HTTP-Request ist (hab nix zu dem Thema gefunden).
Den Indy-Client hab ich noch nie benutzt.
Ich tests mal schnell :D

//Edit:
Also bei nem ganz schnellen Versuch krieg ich immer nur ne leere Seite zurück. Aber ich bleib dran!

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentText := IdHTTP1.Get(ARequestInfo.Host + ARequestInfo.Document);
  AResponseInfo.ContentLength := length(AResponseInfo.ContentText);
  AResponseInfo.WriteHeader;
  AResponseInfo.WriteContent;
end;
//Edit²: ALso wenn man vor ARequestInfo.Host noch 'http://' + anhängt funktionierts für Text oder Bilder allein. Bilder in Seiten werden nicht angezeigt.
Das Problem hatte ich schonmal, das liegt am ContentType.

Danniolo 3. Okt 2006 18:27

Re: Domainname bzw. IP-Adresse bekommen
 
@SnuffMaster23, Edit²: Das Problem hatten wir (Andreas und ich) auch schon einmal. Auf Grund dieser Sache sind wir dann ja auch auf die IdHTTPProxyServer Komponente umgestiegen. Allerdings haben wir jetzt hier dieses dämliche Problem mit der unvollständigen URL.
Naja, hoffen wir mal, dass wir's irgedwann nochmal schaffen^^

SnuffMaster23 3. Okt 2006 20:27

Re: Domainname bzw. IP-Adresse bekommen
 
Ich hab jetzt mal ne "Log"-Funktion eingebaut.
Das mit den Bildern liegt nicht am Content-Type sondern am HTTP-Client!
Wenn ich vor allen anderen Aktionen logge kommen alle Requests an.
Wenn ich logge nachdem der Request weitergegeben wurde kommen Bilder so gut wie nie im Log an.

Das liegt daran dass IdHTTP1.Get Exceptions produziert wenn Bilder Requested werden.

Und jetzt bin ich verwirrt, ich mach wohl morgen weiter :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 Uhr.
Seite 2 von 3     12 3      

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