Come posso eseguire il debug del PAC (proxy auto config) su Windows 8.1 (IE11 e Modern UI)?


12

Su sistemi più vecchi come Windows 7 + IE10, la chiamata di "alert ()" nel file PAC causerebbe la visualizzazione di una finestra di dialogo. Tuttavia, con Windows 8.1 non vengono visualizzate finestre di dialogo anche se IE11 sembra utilizzare il PAC.

La mia situazione attuale è che IE11 può usare i proxy (SOCKS) (restituiti dal PAC) bene, ma le app UI moderne sono completamente disconnesse da Internet. Sembra che IE11 e Modern UI trattino l'impostazione PAC in modo diverso ma non riesco a trovare un modo per eseguirne il debug.

In sintesi, le mie domande sono

  1. Come posso eseguire il debug del PAC con IE11 su Windows 8.1?
  2. Come posso eseguire il debug del PAC con l'interfaccia utente moderna su Windows 8.1?

1
Ho riscontrato lo stesso problema: né Firefox, Chrome né IE sembrano rispondere alle chiamate di avviso. Ho usato utmtools.com/PacMagic e code.google.com/p/pacparser a scopo di "test".
oviava,

+1 per PacMagic. Il generatore potrebbe usare alcune modifiche, ma la funzionalità di test funziona alla grande. Ed è solo un file exe autonomo.
Neil,

Risposte:


3

Modifiche al file PAC di IE11

Microsoft ha apportato modifiche al modo in cui IE11 gestisce i file PAC locali. Puoi leggerli qui o vedere di seguito per alcune informazioni rapide.

Inoltre, le alert()dichiarazioni non funzionano più a partire da Windows 8.


Con IE11, l'utilizzo di un file PAC tramite il protocollo file non è più possibile, a meno che non si aggiunga la seguente chiave di registro:

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

File PAC attraverso un esempio di protocollo file

Nota: le dichiarazioni di avviso non verranno più visualizzate quando si utilizza Windows 8 o versioni successive!


DEBUG PAC File con AUTOPROX ( link per il download )

A volte è necessario solo testare il file PAC, se viene restituito il percorso previsto, sebbene non si abbia accesso al sito Web in questione. Per tali test è possibile utilizzare lo strumento di utilità da riga di comando (allegato) autoprox.exe, creato da Pierre-Louis Coll.

All'avvio in un CMDparametro senza parametri aggiuntivi viene visualizzato l'utilizzo:

C:\temp>autoprox
Version : 2.1.0.0
Written by pierrelc@microsoft.com
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

Ecco l'output con il nostro esempio:

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;

Quando vuoi vedere quali funzioni relative al DNS sono state chiamate, puoi usare anche il parametro “-h”: Qui l'output, quando viene usato:

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;

Gestione degli errori in autoprox.exe:

  1. Quando si specifica un file PAC inesistente (ad es. Errore di battitura nella riga di comando), il risultato da autoprox.exe sarà:

    ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.

  2. Quando il file Pac contiene errori di sintassi, in genere viene visualizzato il seguente messaggio:

    ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.

Dopo aver terminato il test locale, il file PAC deve essere copiato sul server Web da cui si accederà tramite il protocollo http.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.