Problem mit PAC-Dateien

E

Ehemaliger Benutzer

Gast
Gibt es hier Proxy-Spezialisten?
Ich habe eine Blacklist für ein paar URLs, die dafür sorgt, dass manche Dinge über einen Proxy geleitet werden. Das soll aber nur bei einer bestimmten URL geschehen.
Beim Aufruf von URL_1 wird eine Datei von URL_X geladen. Das gleiche passiert beim Aufruf von URL_2.

Jetzt möchte ich, dass die Datei von URL_X nur dann über den Proxy geholt wird, wenn sie von URL_1 angefordert wird.
Rufe ich URL_2 auf, soll alles ganz normal laufen.
Dummerweise steht URL_X in der Blacklist, wodurch sie automatisch über den Proxy angefordert wird.

Meine momentane pac-Datei (ip und port sind bei mir natürlich mit den entsprechenden Werten ersetzt):
Code:
function FindProxyForURL(url, host)
{
    return "PROXY ip:port";
}
Kann ich das irgendwie umschreiben, sodass der Proxy nur dann genutzt wird, wenn ich URL_1 in der URL_Leiste meines Browsers habe?
Ich habe es schon mit Dingen wie
Code:
    if (document.URL:indexOf("www . platzhalter . de") != -1)
    {
       return "PROXY ...";
    }
    else
    {
       return "DIRECT";
    }
probiert, aber da passiert dann gar nichts mehr. Die URL wird dann bis zur Anforderung der Datei von URL_X aufgerufen und dann bricht der Ladevorgang ab.
Eventuell habe ich irgendwo einen Syntax-Fehler oder ich mache generell etwas falsch (pac-Neuling).

Edit: Ok, pac-Dateien scheinen nicht alle Javascript-Funktionen zu unterstützen, weshalb meine Tests bisher wohl fehlschlugen.
Hat trotzdem jemand eine Idee?
 
Zuletzt bearbeitet von einem Moderator:
orientier dich doch mal am Wikipedia-Artikel ... da sind einige Beispielskripte aufgelistet

unter anderem gibts da wohl spezielle RegEx-Funktionen ... mein Vorschlag würde also so aussehen:

Code:
function FindProxyForURL(url, host) {
   if (shExpMatch(host, "*.platzhalter.de")) {
      return "PROXY proxy.example.com:8080; DIRECT";
   }
   return "DIRECT";
}
 
  • Like
Reaktionen: 1 Person
Scheinbar war ich damit vorher nur nicht hartnäckig genug. Ein paar weitere Tests damit lassen darauf schließen, dass vorher wohl der Proxy oder die Seite ein kleines Problem hatten.
Trotzdem danke für dein Mühe.