Comment puis-je déboguer PAC (configuration automatique du proxy) sur Windows 8.1 (IE11 et interface utilisateur moderne)?

12

Sur les anciens systèmes tels que Windows 7 + IE10, l'appel de "alert ()" dans le fichier PAC entraînerait l'affichage d'une boîte de dialogue. Cependant, avec Windows 8.1, aucune boîte de dialogue ne s'affiche même si IE11 semble utiliser le PAC.

Ma situation actuelle est qu'IE11 peut très bien utiliser les proxys (SOCKS) (retournés par le PAC), mais les applications d'interface utilisateur modernes sont complètement déconnectées d'Internet. Il semble qu'IE11 et l'interface utilisateur moderne traitent le paramètre PAC différemment, mais je ne trouve pas de moyen de le déboguer.

En résumé, mes questions sont

  1. Comment puis-je déboguer le PAC avec IE11 sur Windows 8.1?
  2. Comment puis-je déboguer le PAC avec l'interface utilisateur moderne sur Windows 8.1?
Jackie Ku
la source
1
J'ai rencontré le même problème - ni Firefox, ni Chrome ni IE ne semblent capter les appels d'alerte. J'ai utilisé utmtools.com/PacMagic et code.google.com/p/pacparser à des fins de «test».
oviava
+1 pour PacMagic. Le générateur pourrait utiliser quelques ajustements, mais la fonction de test fonctionne très bien. Et ce n'est qu'un seul fichier exe autonome.
Neil

Réponses:

3

Modifications du fichier PAC IE11

Microsoft a apporté des modifications à la façon dont IE11 gère les fichiers PAC locaux. Vous pouvez les lire ici ou voir ci-dessous pour quelques informations rapides.

Notez également que ces alert()instructions ne fonctionnent plus à partir de Windows 8.


Avec IE11, l'utilisation d'un fichier PAC via le protocole de fichier n'est plus possible, sauf si vous ajoutez la clé de registre suivante:

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

Exemple de fichier PAC via protocole de fichier

Remarque: les relevés d'alerte n'apparaîtront plus lors de l'utilisation de Windows 8 ou supérieur!


DEBUG PAC File avec AUTOPROX ( lien de téléchargement )

Parfois, il vous suffit de tester votre fichier PAC, si l'itinéraire prévu est retourné, bien que vous n'ayez pas accès au site Web en question. Pour de tels tests, vous pouvez utiliser l'utilitaire de ligne de commande (ci-joint) autoprox.exe, créé par Pierre-Louis Coll.

Lors du démarrage dans un CMDsans paramètre supplémentaire, l'utilisation s'affiche:

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

Voici la sortie avec notre échantillon:

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;

Lorsque vous voulez voir quelles fonctions liées au DNS ont été appelées, vous pouvez utiliser le paramètre «-h» en plus: Voici la sortie, quand celle-ci est utilisée:

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;

Traitement des erreurs dans autoprox.exe:

  1. Lorsque vous spécifiez un fichier PAC inexistant (par exemple, une faute de frappe dans la ligne de commande), le résultat de autoprox.exe sera:

    ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.

  2. Lorsque le fichier Pac contient des erreurs de syntaxe, vous recevez généralement le message suivant qui s'affiche:

    ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.

Après avoir terminé le test local, le fichier PAC doit être copié sur le serveur Web où il sera accessible via le protocole http.

bentek
la source