如何从外部程序更改Firefox的代理设置?

His*_*air 9 firefox proxy firefox-3

我见过一些能够修改Firefox代理设置的程序(例如Charles Web Developer Proxy).顺序是:

  1. Firefox正在运行,具有用户代理设置.
  2. 用户启动外部第三方应用程序
  3. 修改Firefox的代理设置,然后
  4. 用户退出第三方程序,
  5. Firefox恢复使用其原始代理设置运行.

假设外部应用程序正在记住旧代理设置并在退出时恢复它们如何读取和编写Firefox的代理设置?尝试使用谷歌搜索谷歌搜索但没有运气.

考虑的选项:

  • 编写新的用户首选项配置文件并启动浏览器的新实例.可行但不太正确 - 例如,Charles可以修改已经运行的浏览器的设置并在不重新启动的情况下恢复它们.
  • 写一个插件.可以编写一个Firefox插件,向外部提供某种IPC,然后处理Firefox首选项设置.事实上,我认为这可能是唯一的方法.禁用Charles'Firefox插件似乎无法动态修改首选项.

可能的资源

Ath*_*ena 2

从文档中我可以看到,Charles 有一个它安装/使用的匹配的 Firefox 扩展。这可能就是它可以动态重新加载代理信息的方式。

代理信息存储在您的个人资料的 prefs.js 中,但无法即时重新加载。Firefox 在启动时从其中读取数据,在关闭时向其中写入数据,并且在此期间不会从其中加载。另外,如果您编辑 prefs.js 时 Firefox 正在运行,您的更改将被覆盖。

我认为您也许可以使用 PAC 文件做一些事情,但经过一番研究后,我发现它似乎也不会即时重新加载。您必须重新启动才能重新加载对设置的任何修改。