Jak mogę debugować PAC (automatyczna konfiguracja proxy) w systemie Windows 8.1 (IE11 i nowoczesny interfejs użytkownika)?

12

W starszych systemach, takich jak Windows 7 + IE10, wywołanie „alert ()” w pliku PAC spowoduje wyświetlenie okna dialogowego. Jednak w systemie Windows 8.1 okna dialogowe nie są wyświetlane, nawet jeśli IE11 wydaje się korzystać z PAC.

Moja obecna sytuacja jest taka, że ​​IE11 może dobrze korzystać z serwerów proxy (SOCKS) (zwracanych przez PAC), ale nowoczesne aplikacje interfejsu użytkownika są całkowicie odłączone od Internetu. Wygląda na to, że IE11 i Modern UI traktują ustawienia PAC inaczej, ale nie mogę znaleźć sposobu na ich debugowanie.

Podsumowując, moje pytania są

  1. Jak mogę debugować PAC z IE11 w systemie Windows 8.1?
  2. Jak mogę debugować PAC z nowoczesnym interfejsem użytkownika w systemie Windows 8.1?
Jackie Ku
źródło
1
Natrafiłem na ten sam problem - ani Firefox, ani Chrome, ani IE nie wydają się odbierać alarmowych połączeń. Użyłem utmtools.com/PacMagic i code.google.com/p/pacparser dla celów „testowania”.
oviava
+1 dla PacMagic. Generator może użyć drobnych poprawek, ale funkcja testowania działa świetnie. I to tylko jeden samodzielny plik exe.
Neil,

Odpowiedzi:

3

Zmiany pliku PAC w IE11

Wprowadzono zmiany w sposobie, w jaki IE11 obsługuje lokalne pliki PAC. Możesz o nich przeczytać tutaj lub zapoznać się z krótkimi informacjami.

Należy również pamiętać, że alert()instrukcje nie działają już w systemie Windows 8.


W IE11 użycie pliku PAC poprzez protokół pliku nie jest już możliwe, chyba że dodasz następujący klucz rejestru:

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

Plik PAC poprzez przykład protokołu pliku

Uwaga: oświadczenia o alertach nie będą się już pojawiać podczas korzystania z systemu Windows 8 lub nowszego!


DEBUGOWANY plik PAC z AUTOPROX ( link do pobrania )

Czasami trzeba tylko przetestować plik PAC, jeśli oczekiwana trasa zostanie zwrócona, chociaż nie masz dostępu do danej witryny. Do takich testów można użyć (dołączonego) narzędzia wiersza polecenia autoprox.exe, stworzonego przez Pierre-Louis Coll.

Podczas uruchamiania CMDbez parametru dodatkowego wyświetlane jest użycie:

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

Oto wynik z naszą próbką:

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;

Jeśli chcesz zobaczyć, które funkcje związane z DNS zostały wywołane, możesz dodatkowo użyć parametru „-h”: Tutaj dane wyjściowe, gdy są używane:

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;

Obsługa błędów w autoprox.exe:

  1. Gdy określisz nieistniejący plik PAC (np. Literówka w wierszu poleceń), wynikiem autoprox.exe będzie:

    ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.

  2. Gdy plik Pac zawiera błędy składniowe, zwykle pojawia się następujący komunikat:

    ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.

Po zakończeniu testu lokalnego plik PAC należy skopiować na serwer WWW, gdzie będzie dostępny za pośrednictwem protokołu HTTP.

Bentek
źródło