Функция FindProxyForURL в файле pac (proxy-auto-config) может не работать в браузере IE
Мы провели три дня, так и не смогли решить странную техническую проблему, поэтому нам нужна ваша помощь.
Файл pac (proxy-auto-config), который мы пишем, работает нормально во всех других браузерах, кроме IE(Internet Explorer).
URL запроса
https://news.google.com.hk/nwshp?hl=zh-CN&tab=wn
если файл pac
function FindProxyForURL(url, host) {
if(/news/i.test(url)) return "PROXY 127.0.0.1:8087";
return "DIRECT";
}
это верно, он использует прокси для посещения сайта.
Однако, если файл PAC изменить на
function FindProxyForURL(url, host) {
if(/CN/i.test(url)) return "PROXY 127.0.0.1:8087";
return "DIRECT";
}
CN, также в URL. но IE не использует прокси для посещения сайта, как мы думаем.
Однако мы тестируем в других браузерах, таких как Chrome, Safari, Firefox, все они работают хорошо, все они используют прокси для посещения сайта.
Вроде как в IE параметр "url" в функции FindProxyForURL(url, host)
, это не полный путь URL, он просто содержит хост ,, но в другом браузере это полный URL.
Мы потратили 3 дня на эту проблему. У вас есть идея разрешить функции в файле pac IE получить полный URL-адрес, или у вас есть метод для отладки файла pac в браузере IE.
Мы даже не можем предупредить информацию в браузере.
Наша версия IE 10, Windows 8.
2 ответа
См. http://support.microsoft.com/kb/271361
Необходимо установить для HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\EnableAutoProxyResultCache значение DWORD 0.
Для будущих исследований, и любой, кто сталкивается с этой темой, в этом блоге Microsoft, объясняет, почему это не сработало, это из-за недавних изменений в том, как IE 11 может использовать прокси.
http://blogs.msdn.com/b/ieinternals/archive/2013/10/11/web-proxy-configuration-and-ie11-changes.aspx