Wie kann ich PAC (Proxy Auto Config) unter Windows 8.1 (IE11 und Modern UI) debuggen?

12

Auf älteren Systemen wie Windows 7 + IE10 würde das Aufrufen von "alert ()" in der PAC-Datei dazu führen, dass ein Dialogfeld angezeigt wird. Unter Windows 8.1 werden jedoch keine Dialogfelder angezeigt, auch wenn IE11 die PAC zu verwenden scheint.

Meine aktuelle Situation ist, dass IE11 die (SOCKS-) Proxys (vom PAC zurückgegeben) problemlos verwenden kann, moderne UI-Apps jedoch vollständig vom Internet getrennt sind. Es scheint, dass IE11 und Modern UI die PAC-Einstellung unterschiedlich behandeln, aber ich kann keine Möglichkeit finden, sie zu debuggen.

Zusammenfassend sind meine Fragen

  1. Wie kann ich das PAC mit IE11 unter Windows 8.1 debuggen ?
  2. Wie kann ich das PAC mit Modern UI unter Windows 8.1 debuggen ?
Jackie Ku
quelle
1
Ich bin auf dasselbe Problem gestoßen - weder Firefox noch Chrome oder IE scheinen Warnungsanrufe entgegenzunehmen. Ich habe utmtools.com/PacMagic und code.google.com/p/pacparser zum Testen verwendet.
Oviava
+1 für PacMagic. Der Generator könnte einige Verbesserungen gebrauchen, aber die Testfunktion funktioniert hervorragend. Und es ist nur eine Standalone-Exe-Datei.
Neil

Antworten:

3

IE11 PAC-Datei Änderungen

Microsoft hat Änderungen an der Handhabung lokaler PAC-Dateien in IE11 vorgenommen. Sie können sie hier lesen oder sich unten kurz informieren.

Beachten Sie auch, dass alert()Anweisungen ab Windows 8 nicht mehr funktionieren .


Mit IE11 ist die Verwendung einer PAC-Datei über das Dateiprotokoll nicht mehr möglich, es sei denn, Sie fügen den folgenden Registrierungsschlüssel hinzu:

[HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
(DWORD)"EnableLegacyAutoProxyFeatures"=1

PAC-Datei durch Datei-Protokoll-Beispiel

Hinweis: Bei Verwendung von Windows 8 oder höher werden keine Warnhinweise mehr angezeigt!


DEBUG PAC Datei mit AUTOPROX ( Download Link )

Manchmal müssen Sie nur Ihre PAC-Datei testen, wenn die erwartete Route zurückgegeben wird, obwohl Sie keinen Zugriff auf die betreffende Website haben. Für solche Tests können Sie das (beigefügte) Befehlszeilen-Dienstprogramm autoprox.exe verwenden, das von Pierre-Louis Coll erstellt wurde.

Beim Start in einem CMDohne zusätzlichen Parameter wird die Verwendung angezeigt:

C:\temp>autoprox
Version : 2.1.0.0
Written by [email protected]
Usage : AUTOPROX -s  (calling DetectAutoProxyUrl and saving wpad.dat file in temporary file)
Usage : AUTOPROX  [-h] url [Path to autoproxy file]
       -h: calls InternetInitializeAutoProxyDll with helper functions implemented in AUTOPROX
AUTOPROX url: calling DetectAutoProxyUrl and using WPAD.DAT logic to find the proxy for the url
AUTOPROX url path: using the autoproxy file from the path to find proxy for the url
Example: autoprox -s
Example: autoprox http://www.microsoft.com
Example: autoprox -h http://www.microsoft.com c:\inetpub\wwwroot\wpad.dat
Example: autoprox http://www.microsoft.com http://proxy/wpad.dat

Hier ist die Ausgabe mit unserem Beispiel:

C:\temp>autoprox http://us.msn.com c:\temp\sample.pac
The Winsock 2.2 dll was found okay
url: http://us.msn.com
autoproxy file path is : c:\temp\sample.pac
Calling InternetInitializeAutoProxyDll with c:\temp\sample.pac
        Calling InternetGetProxyInfo with url http://us.msn.com and host us.msn.com
        Proxy returned for url http://us.msn.com is:
PROXY myproxy:80;

Wenn Sie sehen möchten, welche DNS-bezogenen Funktionen aufgerufen wurden, können Sie zusätzlich den Parameter "-h" verwenden: Hier die Ausgabe, wenn dies verwendet wird:

C:\temp>autoprox -h http://us.msn.com c:\temp\sample.pac
The Winsock 2.2 dll was found okay
Will call InternetInitializeAutoProxyDll with helper functions
url: http://us.msn.com
autoproxy file path is : c:\temp\sample.pac
Calling InternetInitializeAutoProxyDll with c:\temp\sample.pac
        Calling InternetGetProxyInfo with url http://us.msn.com and host us.msn.com
ResolveHostByName called with lpszHostName: us.msn.com
ResolveHostByName returning lpszIPAddress: 65.55.206.229
        Proxy returned for url http://us.msn.com is:
PROXY myproxy:80;

Fehlerbehandlung in autoprox.exe:

  1. Wenn Sie eine nicht vorhandene PAC-Datei angeben (z. B. Tippfehler in der Befehlszeile), lautet das Ergebnis von autoprox.exe:

    ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.

  2. Wenn die Pac-Datei Syntaxfehler enthält, wird normalerweise die folgende Meldung angezeigt:

    ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.

Nach Abschluss des lokalen Tests sollte die PAC-Datei auf den Webserver kopiert werden, auf den über das http-Protokoll zugegriffen wird.

Bentek
quelle