Einzelnen Beitrag anzeigen

Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#10

AW: TEmbeddedWB + MultiProxy

  Alt 20. Feb 2011, 15:46
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...
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat