Die Proxy-Einstellungen beziehen sich darauf, wohin der IE seine Anfragen sendet. Läuft Dein Programm mit dem Proxy auf dem lokalen PC, so funktionieren die
IP-Adressen '127.1.0.0' und die aktuelle LAN-Adresse (z.B. '192.168.1.10'). '0.0.0.0' und '
localhost' gehen
nicht - das könnte aber durchaus auch an der von mir verwendeten TIdHTTPServer-Komponente liegen, die diese Adressen möglicherweise nicht korrekt auflöst.
Du müßtest jetzt in Dein Programm eine Server-Komponente einbauen. Ich verwende den schon erwähnten HTTP-Server von
Indy. Der Proxy-Server TIdHTTPProxy tut zwar auch seinen Dienst - allerdings sind da die Eingriffsmöglichkeiten in den Ereignismethoden sehr eingeschränkt und man müßte einige Dinge in der Komponente überschreiben. Wesentlich einfacher geht es mit TIdHTTPServer, dessen Eigenschaft
Bindings auf die gewünschte Adresse+Port zu setzen ist. Als Port würde natürlich auch 80 gehen, solange kein lokaler Webserver vor sich hinwerkelt.
In der Ereignisroutine von
OnCommandGet wäre jetzt die gewünschte Adresse zu testen: Liegt sie in einem unerwünschten
IP-Bereich, wird eine Fehlermeldung zurückgegeben, ansonsten wird die Anfrage weitergereicht und das Ergebnis zurückgeliefert. Dabei kann nach Belieben der User-Agent manipuliert werden (Google mag z.B. keine
Indy-Kennung); es geht auch nicht jeden Web-Server an, mit welchem Browser man unterwegs ist oder welche NET-Versionen installiert sind, die Kekse können gezielt geändert oder ganz unterdrückt werden, die akzeptierte Sprache geändert, Bilder on-the-fly verändert sowie Werbebanner und Pixelbildchen ausgeblended werden und und und...
Der Beispielcode folgt - momentan bin ich noch am Testen...