我需要为一组特定的网址设置代理。 chrome.proxy
允许传递旁路列表但不能传递白名单(模式只允许通过代理发出某些请求)。
以下代码适用于我的情况(使用pac脚本):
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) { if (shExpMatch(url, '*get_with_proxy*')) return 'PROXY 127.0.0.1:8888'; return DIRECT }"
}
};
chrome.proxy.settings.set({ value: config, scope: 'regular' },
function() {});
但问题是,我的很多用户使用其他扩展程序,如Proxy Sharp或Omega Proxy来处理他们的代理需求。如果我使用上面的代码,他们会看到"另一个扩展正在处理代理设置"当他们试图改变这些其他扩展中的选项时。
由于我只需要几个网址来通过代理,有没有办法让其他扩展程序处理非匹配网址的代理设置?
答案 0 :(得分:1)
根据documentation,您只能拥有:
但你不能同时拥有两者或两者。
您最好的选择是尝试成为配置代理的最后一个扩展,获取代理设置并尝试将它们全部转换为单个PacScript代理。
TL; DR:如果您不想更改用户的其他代理设置,则无法实现。