自动配置代理
程序员文章站
2022-05-23 16:26:58
...
有些时候 手机或者pc上面需要频繁的切换代理与取消代理,感觉切换时非常的麻烦,看见有自动代理,故搜索了下 下面贴出代码。
完成的功能:假如url里面index到MLXCJK的话,就返回代理地址192.168.0.115:8888,如果该地址访问不到的话,设置代理为"PROXY 192.168.0.108:8888;,如果还不能访问,就根据该url直接进行访问(没有测试成功)。不进行代理.
一个更加 复杂的例子:
function FindProxyForURL(url, host) { if(url.indexOf("MLXCJK")>0){ return "PROXY 192.168.0.115:8888;"PROXY 192.168.0.108:8888; DIRECT"; } if (shExpMatch(host, "mlsc.meilan.gov.cn")) { return "PROXY 192.168.0.108:8888; PROXY 192.168.0.107:8888; DIRECT"; } }
完成的功能:假如url里面index到MLXCJK的话,就返回代理地址192.168.0.115:8888,如果该地址访问不到的话,设置代理为"PROXY 192.168.0.108:8888;,如果还不能访问,就根据该url直接进行访问(没有测试成功)。不进行代理.
一个更加 复杂的例子:
var direct = 'DIRECT;'; var hasOwnProperty = Object.hasOwnProperty; function FindProxyForURL(url, host) { if (host == "www.haosou.com") { return "PROXY 360.itzmx.com:80"; } var suffix; var pos = host.lastIndexOf('.'); while(1) { suffix = host.substring(pos + 1); if (suffix == "360.cn") if (url.indexOf('http://') == 0) return "PROXY 360.itzmx.com:80"; if (hasOwnProperty.call(domains, suffix)) { return proxy; } if (pos <= 0) { break; } pos = host.lastIndexOf('.', pos - 1); } return direct; }
上一篇: Javassist实现动态代理
下一篇: gradle 代理