![]() |
Proxy für HTTP
Hallo,
erstmal zu meinen vorhaben ich möchte einen Proxy erstellen der die Internet verkehr mitschneidet, leider ist die IndyHTTPProxy Komponente fehlerbehaftet deswegen suche ich nach einer anderen Lösung. Ich dachte an eine Lösung auf der TCP Ebene: Auf Port 8080 starte ich einen TCP Server, wenn sich ein Client(Browser) an diesen Server verbindet Leitet der Server die anfrage an den Rounter? weiter und speicher diese. Wichtig ist mir dabei das das ganze flüssig abläuft d.h. ein Stream soll schon an den CLient gesendet werden wenn dieser noch nicht vollständig herunter geladen wurde. Würde diese Lösung funktionieren und wie (Komponenten?) lässt sie sich praktisch leicht umsetzen ? mfg, Björn :) |
Re: Proxy für HTTP
Eigentlich brauchst du nur zwei Sockets :P Einen Server der auf Port 8080 lauscht und einen Client, der eine Verbindung zu den eingehenden Seiten herstellt. Musst halt die GET Anfragen parsen, damit du die Server Adresse bekommst.
|
Re: Proxy für HTTP
Danke :-D Das klappt zunächst besser als erwartet :) ich komme bis zu dem Punkt wo die Daten vom Host ankommen.
Delphi-Quellcode:
Nun wie komme ich an die Daten herran die der TCPClient empfängt welches Ereignis/Methode nehme ich da am besten ?
FClient.Port := 80;
FClient.Host := GetHost; FClient.OnWork := TCPClientWork; FClient.Connect; FClient.IOHandler.Write(FOut); // Daten werden gesendet und scheinen auch zurückzukommen (die antwort) // Die Lösung geht nicht und schein mir auch nicht sauber zu sein while FClient.IOHandler.Readable(1000) do begin Str := FClient.IOHandler.ReadLn; IOHandler.Write(Str); FProxy.E.Lines.Add(Str); end; mfg, Björn |
Re: Proxy für HTTP
*Push*
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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