描述:
现在我有一个天气预报后台抓取的系统,已经可以抓取各城市的天气情况并生成了相应的页面,我现在要做的是,根据客户端所在的城市去拿天气预报后台生成的相应的城市页面并显示。
问题:
有什么办法可以知道客户端所在的城市?通过IP段获知???谁做过类似的项目,还请支支招,谢谢!!

解决方案 »

  1.   

    可以用纯真ip数据库 然后读取里面的值
    QQWry.Dat
    读这个就可以
      

  2.   

    没做过,但是记得有个对应关系是IP和城市之间的,可以通过这个来判断。按1楼说的..
    以下为Google内容:
    先去下一个最新的纯真IP数据库,然后按如下操作:
    1.运行纯真QQIP数据库里带的ShowIP.exe,点解压,输入文件名,比如IP.txt,确定,就得到一个TXT文件。 2.打开ACCESS,工具-自定义,命令选项卡,把导入选项拖动到上面的工具栏。 3.建库,建一个表,四个字段 Startip 类型:文本 (相关城市的IP段信息)
    Endip 类型:文本 (相关城市的IP段信息)
    Country 类型:文本 (相关城市名称)
    ReUrl 类型:文本 (你想要跳转的城市路径如:北京 http://bj.abc.com)4.点导入按钮,文件类型选文本文件,找到刚才导出的IP.txt文件,导入到刚才建的表里~运算将真实IP转换为数字,比如北京的IP段是 : 1.1.0.0 -- 1.1.0.255 Startip: 1*256*256*256+1*256*256+0*256+0 = 16842752 (这个数字才是最终要放到数据库里)Endip: 1*256*256*256+1*256*256+0*256+255 = 16843007 (这个数字才是最终要放到数据库里的)
     最后就可以利用SQL语句查询数据库中的表来完成从ip地址到城市名的转换了。
      

  3.   

    ip是动态分配的,而且有的还不准确。如果用代理上网的话就更别提了。我以前也接触过类似的项目,因为我以前在一个小公司,老板什么都不懂还总是提一些低成本的要求,最后我的解决办法是java调用通过DOS命令来获取本地的IP。不过这好像满足不了你的需求。我在网上也查过类似的内容,有的人说如果想要达到这种需求的话最好是找到IDC,跟网通电信他们联系,他们可以满足你的需求。
      

  4.   

    可以直接读QQWry.Dat 根据ip 得到城市的
    可以看下lumaqq 里面 有代码的
      

  5.   

    http://www.javaeye.com/topic/340548
      

  6.   

    http://www.javaeye.com/topic/696261这个牛