2

我们花了三天时间仍然无法解决一个奇怪的技术问题,所以我们需要您的帮助。

我们编写的 pac (proxy-auto-config) 文件在所有其他浏览器中都可以正常工作,除了 IE (Internet Explorer)。

请求网址是

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,也在网址中。但 IE 并不像我们想象的那样使用代理访问网站。

但是我们在 Chrome、Safari、Firefox 等其他浏览器中测试,它们都运行良好,它们都使用代理访问网站。

好像在IE中,函数中的参数“url”FindProxyForURL(url, host)不是url的完整路径,它只是包含主机,但在其他浏览器中是完整的url。

我们在这个问题上花了 3 天时间,你有什么想法让 IE pac 文件中的函数获取完整的 url,或者有办法在 IE 浏览器中调试 pac 文件。

我们甚至无法在浏览器中提醒信息。

我们的 IE 版本是 10,Windows 8。

4

2 回答 2

1

对于未来的研究,以及任何偶然发现这个线程的人,这个微软博客,描述了为什么这不起作用,这是因为最近 IE 11 如何使用代理发生了一些变化。

http://blogs.msdn.com/b/ieinternals/archive/2013/10/11/web-proxy-configuration-and-ie11-changes.aspx

于 2015-02-11T19:16:55.760 回答
1

请参阅http://support.microsoft.com/kb/271361

您需要将 HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\EnableAutoProxyResultCache 设置为 DWORD 0。

于 2013-07-18T17:10:57.143 回答