Как я могу отладить PAC (проксируйте автоматическую конфигурацию) в Windows 8.1 (IE11 и современный UI)?

В более старых системах, таких как Windows 7 + IE10, называя "предупреждение ()" в файле PAC вызвал бы показываемое диалоговое окно. Однако с Windows 8.1 никакие диалоговые окна не отображены, даже если IE11, кажется, использует PAC.

Моя текущая ситуация является IE11, может использовать (SOCKS) прокси (возвращенный PAC) очень хорошо, но современные приложения UI полностью разъединяются от Интернета. Кажется, что IE11 и современный UI рассматривают установку PAC по-другому, но я не могу найти способ отладить его.

Таким образом, мои вопросы

  1. Как я могу отладить PAC с IE11 в Windows 8.1?
  2. Как я могу отладить PAC с современным UI в Windows 8.1?
12
задан 26 May 2014 в 10:36
2 ответа

Изменения PAC-файла IE11

Microsoft внесла изменения в то, как IE11 обрабатывает локальные PAC-файлы. Вы можете прочитать о них здесь или посмотреть краткую информацию ниже.

Также обратите внимание, что операторы alert () больше не работают в Windows 8.


В IE11 использование PAC-файла через файловый протокол является нет более возможно, если вы не добавите следующий ключ реестра:

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

PAC-file through file-protocol example

Примечание: операторы предупреждений больше не будут отображаться при использовании Windows 8 или выше!


DEBUG PAC File с AUTOPROX ( Ссылка для скачивания )

Иногда вам нужно просто протестировать ваш PAC-файл, если ожидаемый маршрут возвращается, хотя у вас нет доступа к рассматриваемому веб-сайту. Для такого тестирования вы можете использовать (прилагается) утилиту командной строки. autoprox.exe, созданный Пьером-Луи Коллом.

При запуске в CMD без дополнительных параметров используется отображается:

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

Вот результат нашего примера:

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;

Если вы хотите увидеть, какие функции, связанные с DNS, были вызваны, вы можете дополнительно использовать параметр «-h»: Здесь вывод, когда это используется:

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;

Обработка ошибок в autoprox.exe:

  1. Когда вы указываете несуществующий PAC-файл (например, опечатку в командной строке), результат autoprox.exe будет:

    ОШИБКА: Ошибка InternetInitializeAutoProxyDll с номером ошибки 0x6 6.

  2. Когда Pac-файл содержит синтаксические ошибки, вы обычно получаете следующее сообщение:

    ОШИБКА: InternetGetProxyInfo завершился с ошибкой номер 0x3eb 1003.

После завершения работы локальный тест, PAC-файл нужно скопировать в веб-сервер, на котором он будет доступен через http-протокол.

3
ответ дан 2 December 2019 в 21:41

Существует инструмент pactester, входящий в состав pacparser , упомянутый в комментариях @oviava, который работает в системах на базе Windows и Unix-, включая Linux (, например.sudo apt install libpacparser1)и MacOS (, например.brew install pacparser). Это можно использовать для тестирования PAC-файлов -. Он покажет ожидаемое поведение для этого URL-адреса или сообщит о любых ошибках с PAC-файлом. например.

pactester -p your_pac_file.pac -u http://www.test_site.com 
0
ответ дан 17 November 2021 в 09:38

Теги

Похожие вопросы