注册
登录
提问时间:2016/10/11 23:44:39
小弟最近准备做个旅游网站,发现很多大的旅游网站,携程 / 同程 / 途牛 之类的网站。
他们可以根据访问者的IP,动态的显示该IP对应城市的旅游信息。比如你是北京的,他们就给你显示北京到哪里哪里的线路。

问题是,域名没变,还是静态的页面,也没有使用AJAX之类的东西。怎么就可以根据IP自动显示不同的内容呢??思前想后,难道他们用的DNS识别?
1楼(未知网友)

只要是请求,一般都可以从http请求中获取到ip,然后根据ip来定位,你像cookie什么的那都是后续的一些手段而已
2楼(未知网友)

1,能获取ip这个你懂得
2,有了ip可以从一些公用的库中查到城市,
3,展示数据时,只取相应城市的数据展示就可以了~
3楼(站大爷用户)

1、获取客户端IP地址
2、根据IP地址获取客户端所在地理位置
3、显示相关内容
4楼(未知网友)

从页面地址上是无法判断页面是静态还是动态的,你以为是静态的,实际上是动态的。
5楼(未知网友)

一个比较简单且通用的办法:
1.首次登陆/注册时候用户自己选择所在地位置,并保存本地Cookie中。
2.以后每次打开网站时候首先读取本地Cookie信息或者DB中注册时候选择地 作为首选地点。
Note:
1.使用IP库也可以加入做自动判断首次进去的首选地点。但是这办法准确性不好说可作为辅助方式。
2.正常的用户发起的HTTP信息中,可以读取对方IP地址。

希望对你有帮助。
6楼(站大爷用户)

我没有做过相关的方案哦。

我估计有两种方式:
1、如上面蔡海峰说的,用 Cookie 实现。这种情况恐怕是在用户的机器只在某个城市的情况下才行,如果用户是备着本本四处走的,这种方案意义不是太大。
2、假定用户都不是通过代理访问你们网站,都是直接从当前所在的网络出口访问的。那么可以读取用户当前的 ip 地址,然后和 ip 地址所在地比较来得到用户当前所在的城市。

能取到了所在城市,那么就可以根据城市来读取和抛出数据给用户了。
立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品