Chrome扩展程序 - 编程方式绕过代理

3
我正在开发一个扩展程序,通过我的扩展程序使用chrome扩展代理API(chrome.proxy.settings)来设置代理。一切正常,并且我可以在我的代理服务器上获取所有流量,当然除了中的流量。
现在我的问题是:如何动态地绕过设置的代理?我的意思是,有没有办法在编程时为某些URL(不在代理绕过列表中)绕过代理?我知道代理绕过列表中包括URLs/模式,但我需要在程序运行时为某些URLs绕过代理。
是否有人面对类似的需求?任何直接动态绕过代理的方法或任何解决方法都将不胜感激。

你可能想要查看调试网络代理问题,看看它是否有帮助。它提到了一个给定的选项,可以覆盖系统代理设置,如果你不想使用它。除此之外,更多信息也可以在代理设置和回退中找到。 - Teyam
感谢 @Teyam,让我研究一下这些。 - ankit.vic
我查看了这些链接,但它们似乎对我没有帮助。 - ankit.vic
1个回答

0
绕过代理上网? 你可以从Web服务器中提取任何特定地址。问题在哪里呢?
例如:
chrome.windows.onCreated.addListener(function() {
  var config = {
      mode: 'fixed_servers',
      rules: {
        proxyForHttp: {
          scheme: 'http',
          host: '127.0.0.1',
          port: '80'
        },
        bypassList: []
      }
    },
    proxyByUrl = 'path/to/proxiesByUrl?path=' + window.location.href;

  $.get(proxyByUrl, function(data) {
    // Set up current proxy, dependent on request URL
    config.rules.proxyForHttp.host = data.proxyAddress;
    config.rules.proxyForHttp.port = data.proxyport;
    // Excluded URL's for this proxy
    bypassList.push(data.bypassUrls);
  });
});

匹配所有符合模式的主机名。前导“.”被解释为“*.”。 例如:“foobar.com”,“foobar.com”,“.foobar.com”,“foobar.com:99”,“https://x.y.com:99”。

有关更详细的bypassList模式,请阅读官方文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接