如何使用XPCOM更改Firefox代理设置
how to change firefox proxy settings using xpcom
我有一个在 localhost (127.0.0.1) 上运行的代理服务器,我已经厌倦了必须培训用户如何在 Firefox 中切换代理以绕过被阻止的网站。
我决定写一个插件。我想知道如何使用 xpcom 告诉火狐使用某个代理,例如
对于 HTTP,请使用 127.0.0.1 端口 8080。
互联网上的例子很少。
谢谢
代理设置存储在首选项中。您可能希望更改network.proxy.type
、network.proxy.http
和network.proxy.http_port
(文档)。喜欢这个:
Components.utils.import("resource://gre/modules/Services.jsm");
Services.prefs.setIntPref("network.proxy.type", 1);
Services.prefs.setCharPref("network.proxy.http", "127.0.0.1");
Services.prefs.setIntPref("network.proxy.http_port", 8080);
如果您需要为每个 URL 动态确定代理,您可以通过nsIProtocolProxyService
接口使用功能提供程序 - 它允许您定义"代理过滤器"。这样的事情应该有效:
var pps = Components.classes["@mozilla.org/network/protocol-proxy-service;1"]
.getService(Components.interfaces.nsIProtocolProxyService);
// Create the proxy info object in advance to avoid creating one every time
var myProxyInfo = pps.newProxyInfo("http", "127.0.0.1", 8080, 0, -1, 0);
var filter = {
applyFilter: function(pps, uri, proxy)
{
if (uri.spec == ...)
return myProxyInfo;
else
return proxy;
}
};
pps.registerFilter(filter, 1000);
相关文章:
- 如何设置html元素填充的动画
- 需要帮助设置json数组
- 如何使用nodejs设置代理服务器
- 可以'在尝试使用chai请求代理为测试维护用户会话时,t在发送标头后设置标头出错
- 如何在nodejs中设置Web缓存代理服务器以减少互联网使用
- 在 Chrome 扩展程序中为 HTTP 请求设置用户代理
- 如何设置电子用户代理
- 如何使用XPCOM更改Firefox代理设置
- 如何设置导航器用户代理
- Phantomjs 抛出“此页面使用框架,但您的浏览器不支持它们”错误,即使在设置了正确的用户代理后也是如此
- bower未读取.bowerrc代理设置(windows)
- 动态更改浏览器http代理设置
- 如何设置(更改)导航器(appname,用户代理等)在浏览器控制
- 为create-react应用程序设置代理服务器
- 使用webpack服务器代理设置绕过跨域AJAX请求
- 我怎么知道chrome.proxy.settings.set是否正确设置了我的代理
- 使用googlechrome扩展设置代理
- 为iFrame设置用户代理
- 如何设置默认的余烬 cli 代理
- 如何在nodejs中为多个目标设置反向代理