根据用户所在ip不同自动切换城市这个应该如何实现啊?求可行方法

2012-05-19 14:45:26 +08:00
 chengxiao
根据用户所在ip不同自动切换城市这个应该如何实现啊?求可行方法,目前是用js调用新浪的ip库但是缺点是js跳转会有一个过程,怎样才能实现像58同城,赶集网那样的效果呢?求科普
5915 次点击
所在节点    问与答
14 条回复
Showfom
2012-05-19 14:50:24 +08:00
http://fw.qq.com/ipaddress

用腾讯的IP库吧,比较准确
x86
2012-05-19 14:55:24 +08:00
@Showfom 要么准确,要么偏差太大,偶尔几次显示登入地址差了几个省份,还有一次直接显示中国
wingoo
2012-05-19 15:22:16 +08:00
用纯真的ip库吧
在github上搞了个练手项目https://github.com/wingoo/CZIP-Filter
里面的ips2.txt是已转换好的ip城市对应库
导入数据库就行了

或者下载纯真的,然后运行下程序
Wy4q3489O1z996QO
2012-05-19 15:31:02 +08:00
@Showfom
@x86
奇怪你们那qq的ipaddress还能访问?
我这里:
The page you are looking for is temporarily unavailable.
Please try again later.
qiuai
2012-05-19 15:48:47 +08:00
@romotc 一样不能访问
likuku
2012-05-19 16:20:33 +08:00
qqwry 以前用这个,其实也是纯真

PECL :: Package :: qqwry : http://pecl.php.net/package/qqwry

IP::QQWry - search.cpan.org : http://search.cpan.org/~sunnavy/IP-QQWry-0.0.16/lib/IP/QQWry.pm
ichigo
2012-05-19 16:21:47 +08:00
用纯真吧,挺准的,更新也比较及时。
Janpo
2012-05-19 16:28:22 +08:00
GEOIP
chengxiao
2012-05-19 20:52:30 +08:00
@Showfom
@Janpo
@ichigo
@likuku
@qiuai
@romotc
@likuku
@qiuai
@romotc
@x86
@wingoo
各位亲们......我已经有ip库了 现在求的是怎么像58那样 以访问直接就是城市站点,而非js跳一次....
cutehalo
2012-05-19 20:53:41 +08:00
@chengxiao 存cookie吧
wingoo
2012-05-19 21:00:38 +08:00
@chengxiao 可以肯定的是,如果二级域名不同肯定要跳一次,如果二级域名相同,动态读取
ElmerZhang
2012-05-19 21:08:12 +08:00
@chengxiao 思路:
页面一开始先查cookie,看有没有location,如果有,直接跳转。
如果没有,查IP库判断用户所在地,然后跳转。

跳转方式:如果用户访问的不是他所在地的页面,直接302跳转,PHP实现方式:
header('Location: xxx.xxx.xxx ');
9hills
2012-05-19 21:08:39 +08:00
@chengxiao 你服务端是PHP的话,判断IP什么的在PHP里做不就不用跳了。。。为啥非要放在js里
CoX
2012-05-19 21:17:58 +08:00
@romotc 不能访问,难不成都没人维护

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/36554

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX