实现代理设置proxy

用户在哪些情况下是需要设置网络代理呢?

1. 内网上不了外网,需要连接能上外网的内网电脑做代理,就能上外网;多个电脑共享上外网,就要用代理; 
2.有些网页被封,通过国外的代理就能看到这被封的网站;
3.想隐藏真实IP;

4. 想加快访问网站速度,在网络出现拥挤或故障时,可通过代理服务器访问目的网站。比如A要访问C网站,但A到C网络出现问题,可以通过绕道,假设B是代理服务器,A可通过B, 再由B到C。

我们app的大多数用户情况是第一种.我们参考qq和chrome的插件switchysharp设置代理的方式来设计的界面

实现代理设置proxy

实现代理设置proxy

我们的项目是基于node-webkit技术进行开发的。

对于浏览器直接发送的请求设置代理可以直接设置chrome.proxy

1 if (proxy.proxyType == 0) {//不使用代理 2 chrome.proxy.settings.set({ \'value\': { \'mode\': \'direct\' } }, function (e) { console.log(e) }); 3 } else if (proxy.proxyType == 1) {//使用http代理 4 chrome.proxy.settings.set({ \'value\': { \'mode\': \'fixed_servers\', rules: { singleProxy: { scheme: \'http\', host: proxy.host, port: proxy.port }, bypassList: null } } }, function (e) { console.log(e) }); 5 } else if (proxy.proxyType == 2) {//使用socks代理,可以支持版本4或者5 6 chrome.proxy.settings.set({ \'value\': { \'mode\': \'fixed_servers\', rules: { singleProxy: { scheme: \'socks\' + proxy.ver, host: proxy.host, port: proxy.port }, bypassList: null } } }, function (e) { console.log(e) }); 7 } else if (proxy.proxyType == 3) {//使用系统代理 8 chrome.proxy.settings.set({ \'value\': { \'mode\': \'system\' } }, function (e) { console.log(e) });

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdyww.html