今天遇到一个问题:
页面在android版微信内置浏览器中打不开,在ios版本微信及其他浏览器中能够打开,调试了一下发现当用android版微信内置浏览器打开后台报错,错误原因是定位功能,
String ip = request.getHeader("x-forwarded-for");
该语句能够获取到客户端的ip,但dubug之后,发现返回的是两个ip,用,分割:***.***.***.***,***.***.***.***
于是网上查找原因:
参考链接:http://blog.csdn.net/joe_007/article/details/8608621
意思是说,该方法会返回如下格式的ip
X-Forwarded-For: client1, proxy1, proxy2
第一个参数是clientip,即实际访问设备的ip,其他的是代理服务器ip,应该是微信在全国各地的nginx代理服务器。
解决方案:
if(!StringUtils.isEmpty(ip)) { ip = ip.split(",")[0]; }
加这样一个方法获取第一个参数即可。