Hallo,
Nach längerem Forschen zu diesem Thema bin ich nun soweit, dass ich die Datei WPAD.DAT innerhalb des Firmennetzwerks finden und herunterladen kann.
Diese Datei ist in JavaScript geschrieben und wird zB vom IE interpretiert wenn dessen Optionen "Automatische Suche der Einstellungen" unter "Optionen/Verbindungen/Einstellungen" angeschaltet ist.
Dieses Interpretieren der Datei versuche ich nun auch in meiner Delphi-Anwendung um das automatische Herunterladen von Updates zu implementieren. Ich will also eine JavaScript-Funktion (FindProxyForURL) die in der Datei WPAD.DAT vorhanden ist ausführen und das Ergebnis (die Liste des vorhandenen/nötigen Proxys) zurückerhalten.
Die Datei sieht ungefähr so aus:
function FindProxyForURL(
url, host)
{
if (isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "127.0.0.0", "255.255.255.0") ||
...
return "DIRECT";
else
return "PROXY proxy:8080; PROXY 10.10.9.50:8080; PROXY 10.10.9.51:8080; DIRECT";
}
Ich habe nun das ScriptControl-
ActiveX importiert und versucht mit einem entsprechenden Objekt dieser Klasse das Script zu interpretieren. Mit einfachen JavaScript-Funktionen klappt´s auch, aber bei dieser Funktion hier scheitert´s an am Aufruf der Funktion isInNet(...). Die Meldung lautet dann "Objekt erwartet". Die gleiche Meldung kommt übrigens aus, wenn ich FindProxyForURL direkt zB im Header einer banalen
HTML-Seite als Javascript einfüge und aufrufe...
Nun meine Fragen:
1. Hat noch jemand Erfahrung mit dem MS-ScriptControl-
ActiveX-Control bzw. was kann ich tun, damit dieses Control die Funktion isInNet() kennt?
2. Hat jemand eine andere Lösung um die vorhandenen/nötigen Proxys innerhalb eines Firmennetzes zu ermitteln? Ich schaue zwar bereits in der Registry nach den IE-Einstellungen, doch ich wollte es halt richtig machen und die WPAD.DAT Datei verwenden...
Vielen Dank für jeden Hinweis!
Gruß,
Pascal