mücke 10 Geschrieben 6. August 2009 Melden Teilen Geschrieben 6. August 2009 Hallo zusammen Wir möchten in unserer Firma die Proxyeinstellungen über das proxy.pac File vornehmen. Nun, das funktioniert eigentlich ganz gut, bis auf die Tatasache dass einige lokale Seiten nicht angezeigt werden, jedoch komischerweise nicht alle :confused: Hier meine pac-Datei: function FindProxyForURL(url, host) { var proxy_yes = "PROXY 172.23.2.30:8080; DIRECT"; var proxy_no = "DIRECT"; if ((url.substring(0, 5) != "http:" || url.substring(0, 6) != "https:" || url.substring(0, 4) != "ftp:")) return proxy_yes if (shExpMatch(url,"localhost") || shExpMatch(url, "172.*") || shExpMatch(url, "*.sap.bdo.ch") || shExpMatch(url, "*.local") || shExpMatch(url, "192.168.200.*") || shExpMatch(url, "aba*.bdo.ch") || shExpMatch(url, "it*.bdo.ch") || shExpMatch(url, "proxy.bdo.ch") || shExpMatch(url, "proxy")) return proxy_no; else return proxy_yes; else return proxy_yes; } Hat jemand ne Ahnung was hier falsch läuft? Wäre über jede Antwort sehr dankbar :) Grüsse Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 6. August 2009 Melden Teilen Geschrieben 6. August 2009 Ich verstehe die verschachtelten IF-Statements nicht. Wenn die erste Bedingung wahr ist, wird doch nie die das 2. IF ausgeführt, da mit return proxy_yes die Funktion verlassen wird. Schau Dir mal dieses Beispiel an: Proxy Auto-Config ? Wikipedia -Zahni Zitieren Link zu diesem Kommentar
mücke 10 Geschrieben 7. August 2009 Autor Melden Teilen Geschrieben 7. August 2009 (bearbeitet) Hallo zahni :) Vielen Dank für deine Antwort. Ich habe das return proxy_yes am Anfang herausgenommen, es funktioniert jedoch immernoch nicht alles :( Das Script sieht nun so aus: function FindProxyForURL(url, host) { var proxy_yes = "PROXY xxx.xx.x.xx:8080; DIRECT"; var proxy_no = "DIRECT"; if ((url.substring(0, 5) != "http:" || url.substring(0, 6) != "https:" || url.substring(0, 4) != "ftp:")) if (shExpMatch(url,"localhost") || shExpMatch(url, "172.*") || shExpMatch(url, "*.sap.bdo.ch") || shExpMatch(url, "*.local") || shExpMatch(url, "192.168.200.*") || shExpMatch(url, "aba*.bdo.ch") || shExpMatch(url, "it*.bdo.ch") || shExpMatch(url, "proxy.bdo.ch") || shExpMatch(url, "proxy")) return proxy_no; else return proxy_yes; else return proxy_yes; } Brauchts das "else" bei der if-funktion eigentlich nicht? Das Beispiel auf Wikipedia enthält nur if, ohne else. Hättest du noch eine Idee, an was es liegen könnte? bearbeitet 7. August 2009 von mücke Zitieren Link zu diesem Kommentar
mücke 10 Geschrieben 7. August 2009 Autor Melden Teilen Geschrieben 7. August 2009 (bearbeitet) Ich habe gem. Beispiel von Wikipedia noch ein weiteres proxy.pac erstellt, das sieht so aus: function FindProxyForURL(url, host) { var proxy_yes_no = "PROXY xxx.xx.x.xx:8080; DIRECT"; var proxy_yes = "PROXY xxx.xx.x.xx:8080"; var proxy_no = "DIRECT"; if (url.substring(0, 5) != "http:") {return proxy_no;} if (url.substring(0, 6) != "https:") {return proxy_no;} if (url.substring(0, 4) != "ftp:") {return proxy_no;} if (shExpMatch(url,"localhost")) {return proxy_no;} if (shExpMatch(url, "172.*")) {return proxy_no;} if (shExpMatch(url, "*.sap.bdo.ch")) {return proxy_no;} if (shExpMatch(url, "*.local")) {return proxy_no;} if (shExpMatch(url, "192.168.200.*")) {return proxy_no;} if (shExpMatch(url, "aba*.bdo.ch")) {return proxy_no;} if (shExpMatch(url, "it*.bdo.ch")) {return proxy_no;} if (shExpMatch(url, "proxy.bdo.ch")) {return proxy_no;} if (shExpMatch(url, "proxy")) {return proxy_no;} if (isInNet(myIpAddress(), "xxx.xx.x.x", "255.255.254.0")) { return proxy_yes; } return proxy_yes_no; } aber auch das funktioniert nicht einwandfrei :( hat jemand ne Idee? bearbeitet 7. August 2009 von mücke Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.