如何强制Chrome重新加载代理配置文件?


13

我经常在不同的wifi区域之间移动笔记本电脑(OSX),但是我的家庭有以太网连接,并且依赖于组织的proxy.pac文件。在旅途中重新连接时,我经常遇到一个问题,即页面根本无法在Chrome或Firefox中加载。他们只是最终超时。我认为这与代理需要用户名和密码这一事实有关-也许它只是丢弃未经身份验证的请求之类的东西。

我通过反复试验发现,在FireFox中,如果转到代理设置,然后在代理配置上按“重新加载”,则问题就消失了。最终,Chrome会弹出代理身份验证对话框,但很难看到(通常出现在错误的Spaces窗口中,有时立即消失,可以被埋在其他应用程序窗口下)。

所以我的问题是:既然该方法适用于Firefox,我该如何告诉Chrome重新加载proxy.pac文件?(我以为我已经通过在本地保存proxy.pac文件解决了问题,但显然没有)。


我也很想听听诊断工具的知识,这些工具将有助于了解正在发生的事情。
史蒂夫·本内特

看起来是问题的实际原因可能是这样的:code.google.com/p/chromium/issues/detail?id=85529 Chrome正在拒绝完美的代理,可能是因为代理拒绝了某些非标准请求(例如错误报告中的Google个人资料同步)。
史蒂夫·贝内特

Answers:


20

欢迎来到有趣的世界,它是Proxy Auto-Configuration文件(甚至是Google Chrome)!

您还没有看到任何东西。在WWW浏览器的混合中不仅包含Chrome和Firefox,而且存在很多困难。(我最近试图诊断为什么PAC文件导致RealPlayer完全无法解析任何域名。)

有用的诊断工具(其中“有用的”结合了“我自己使用它们来诊断问题。”)包括Chrome的JavaScript控制台和调试日志记录功能。一次,我在相当大的PAC文件中诊断出语法错误。Chromium“ Net Internals”代理配置报告页面(其URL SuperUser不允许作为超链接)及其初始化报告副本(同样)也很有用:

chrome://net-internals/proxyservice.config
chrome://net-internals/proxyservice.init_log

是的,很难说服Chrome重新重新加载PAC文件。Chrome在代理设置方面的历史一直很麻烦。一种相当可靠的方法是完全关闭系统设置对话框中的所有代理设置(当然,并保存所做的更改),等待一分钟,然后再次将其重新打开。但是在过去(使用早期版本)中,我不得不完全退出并重新启动Chrome。部分原因是因为Chrome可以通过在空闲状态下每10秒钟左右在后台轮询系统设置的更改来工作。

在Chrome的错误数据库中,您发现与其他WWW浏览器一样,允许运行时可切换的特定于Chrome的代理设置的请求(与您的问题有关)已搁置了三年,并被关闭,原因是“我们不会解决此问题。 ”,尽管现在应该有一个扩展(当然还有一组命令行选项,这些选项当然不能在运行时切换)。

如您所见,Firefox具有一个简单的“重新加载”按钮。正如您通过阅读三年的bug讨论所看到的,在这个领域中,人们对于将功能贫乏而古怪的Chrome与Firefox相比感到非常不满意。

请注意,这可能不是根本问题的根本原因,但是由于您没有对此提出疑问,更不用说提供足够详细的地方了,我将不予解决。☺


哇,好答案。是的,我没有问任何潜在的问题。解决症状可以解决我的问题。考虑到当今浏览器的可互换性,当一个浏览器愉快地连接到任何站点,而另一个浏览器旋转时,这是一种非常令人惊讶的体验-两者都具有相同的代理设置。这给了我一些帮助。
史蒂夫·本内特

啊哈!proxyservice.config中的一件有趣的事情:我的(必需的)代理被标记为“坏”。我猜想Chrome尝试在网络连接处于不断变化的状态时访问它,然后在失败时将其标记为错误。因此,它尝试不使用代理访问网络-这是我的网络不允许的。幸运的是,有一个按钮可以清除“不良”代理表格,因此有一个出路。
史蒂夫·贝内特

感谢您的两个诊断屏幕。Chrome和代理是要诊断的PITA。现在要容易得多。
mr-euro

16

在Chrome 29.x中,现在chrome://net-internals/#proxy有一个带有“重新应用设置”按钮的URL 。

它例如从PAC脚本重新加载代理设置。

该文档还列出了覆盖代理设置的命令行选项。


有趣。自从我最初描述这种情况以来已经有一段时间了,所以我无法真正进行测试,但这听起来似乎很合理。
史蒂夫·本内特

我可以确认它确实重新加载了代理设置。谢谢 :)。
Dennis Knochenwefel 2015年

这也为我工作。
我们都是莫妮卡

1

关闭并打开Chrome可能会这样做,但是Chrome会使用系统代理,因此可能不会。

如果您是我,我将打开proxy.pac,看看它在做什么,然后设置一个将在工作时启用的代理配置文件,否则禁用与proxy.pac匹配的代理配置文件。

您可以使用代理切换器之类的东西来管理它。


谢谢,我目前正在采取该策略。它实际上是一个非常复杂的文件,但归根结底是“不要对以下100多个域使用代理”。
史蒂夫·贝内特

是的,所以所有内部内容都不要使用代理。如果您未在所有100多个域中都使用服务,则可能会有所选择。只需添加所需的免税项即可。
保罗

其实我错了。它确实将代理用于许多域。默认行为似乎是:返回“ PROXY; DIRECT”; (分号前的制表符)。我不明白
史蒂夫·本内特

在单词“ PROXY”之后和分号之前应该有一些东西。这通常是代理服务器的列表,如果无法连接,则应按顺序访问。列表中的最后一个是“ DIRECT”,这意味着您无法访问任何先前的代理,然后尝试直接访问该网站。
保罗

糟糕,好像我暂时处理了文件,从该行删除了实际的代理位置。同时,似乎我可以通过清除该框,保存设置然后再次填写它来迫使Chrome重新加载代理设置,但是仍然不确定它是否可靠。
史蒂夫·贝内特

0

着手进行本地开发,发现这是由于管理代理的corp安装了扩展程序。隐身模式绕过,我可以连接到本地Web服务器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.