如何从chrome扩展获取系统代理设置?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从chrome扩展获取系统代理设置?相关的知识,希望对你有一定的参考价值。
我需要为我的chrome扩展程序进行自定义代理设置,以便特定域的流量通过代理服务器,而所有其他(用户)流量通常使用默认系统设置。根据chrome API文档,唯一的方法是使用pac_script(如果我错了,请纠正我)。因此,代码将是这样的:
var config = {
mode: "pac_script",
pacScript: {
data: "function FindProxyForURL(url, host) {
" +
" if (dnsDomainIs(host, 'mydomain.com') )
" +
" return 'SOCKS5 10.0.0.1:1234';
" +
" return 'DIRECT';
" +
"}"
}};
chrome.proxy.settings.set({value: config, scope: 'regular'});
但是,pac_script没有使用系统代理设置路由流量的选项(仅“DIRECT”,这意味着它将跳过系统设置)。我想使用chrome.proxy.settings.get
获取系统代理设置,但是这个函数返回一个没有有用信息的mode = system
对象。
有谁知道如何从扩展程序获取系统代理设置?或者有处理原始问题的建议?
答案
你可以得到它
chrome.proxy.settings.get(
{'incognito': false},
function(config) {
console.log(JSON.stringify(config));
});
它应该显示这样的事情:
{
"levelOfControl":"controlled_by_this_extension",
"value":
{
"mode":"pac_script",
"pacScript": {
"data": "function FindProxyForURL(url, host) {
return "PROXY 10.0.0.1:1234;";
}",
"mandatory": false
}
}
}
阅读文档更详细的https://developer.chrome.com/extensions/proxy
以上是关于如何从chrome扩展获取系统代理设置?的主要内容,如果未能解决你的问题,请参考以下文章