Chrome默认情况下是使用系统(IE)设置里的代理服务器,而且在配置页面上的配置按钮,实际上也是导向IE的代理设置页面。

实际上,Chrome也可以通过命令行参数【–proxy-server】来配置代理服务器。代理服务器的格式形如【[protocol://]host[:port]】,其中:

  • protocol:表示代理服务器的类型,如socks、socks5、http,缺省为http;

  • port:表示代理服务器的端口,缺省为80

但是如果仅仅使用这个参数,会出现一个问题。就是打开第一个窗口后,以后打开的Chrome都跟这个窗口所用的代理设置一样,而不管后面打开的窗口用的是什么命令行参数。例如,如果我想同时打开两个Chrome,一个用代理,一个不用代理。这种方式就不行。

这个问题是因为Chrome把代理服务器设置保存在数据文件中,每次启动的时候都会预先读取已有数据,并且覆盖掉命令行参数。

所以解决这个问题的方法,就是同时通过【–user-data-dir】参数指定一个不同的数据目录。

 

比如对我来说,我要实现这样的效果:

  • 可以通过快捷方式或者命令行同时打开两个窗口

  • 其中一个窗口中的浏览,通过socks v5协议、服务器为127.0.0.1、端口为10800代理浏览网络

  • 另一个直接连接。

那么我会创建一个Chrome的快捷方式(命令行),添加上参数【–proxy-server=“socks5://127.0.0.1:10800” –user-data-dir=“C:WindowsTempChrome_Proxy”】(Linux下为【–proxy-server=“socks5://127.0.0.1:10800” –user-data-dir="/tmp/Chrome_Proxy"】)。然后创建另一个不带任何参数的快捷方式,这两个快捷方式可以同时使用,互不干扰。