利用代理实现无线WEB测试中的修改hosts 2013-01-17

传统情况下大概会有以下几种手段:

  1. 越狱(Ios)或者拿到Root(Android),然后修改hosts文件
  2. 搭建DNS服务器,然后将手机DNS指过来

方便一是大家最常用的手段,但是每次要修改也是觉得有些麻烦,特别是无线设备上的输入不便。

方便二可以把控制权转交给DNS服务器,但是这个方案的实施成本太高,一般开发者搞不起来。

前几天和同事讨论如何方便的修改手机等无线设备中的hosts文件,以支持WEB无线开发中的频繁测试。

交流过程中,突发灵感,想到一个绝妙的办法可以解决无线hosts修改的问题。

方法如下:

  1. 在开发机上安装一个常驻的代理服务器软件,设置为自动启动,例如CCProxy
  2. 将无线设备端代理服务器设置指定到本机的代理服务器IP和端口,包括HTTP和HTTPS

设置工作完成,现在你只需在开发机上修改系统文件中hosts文件,无线端也同步生效了。

正常情况下,做无线开发,都会先在PC上的Safari或Chrome先过第一轮测试,没问题了再测无线端。

利用这个开发模式,就可以把整个测试流程打通,一气呵成!

测完PC端,立马就可测无线端,无需切换hosts。

这套解决方案的优点:

  1. 设备无需越狱或ROOT,可以得到正规保修
  2. 无线端无需修改hosts,提升开发效率
  3. 完全的打通PC端和无线端的测试流程,一气呵成

工作原理:

指定代理服务器后,所有的DNS解析就完全的交给代理服务器完成了,因此代理服务器上hosts的修改,就会影响无线端DNS的解析,间接就修改了无线端的DNS指向。