【问题标题】:Rails GeoIP return country/city listRails GeoIP 返回国家/城市列表
【发布时间】:2012-10-09 06:32:57
【问题描述】:

所以,我正在尝试通过 GeoIP gem 使用 Maxmind GeoLiteCity.dathttps://github.com/cjheath/geoip 而且,困扰我的是:我怎么可能返回所有国家的列表(这很容易,因为那里有一个适当的 YAML 文件)和城市 - 但我不知道如何阅读城市列表.我所知道的是它们以某种方式存储在这个 .dat 文件中

谁能帮我解决这个问题?我应该在哪里以及如何看?

【问题讨论】:

    标签: ruby-on-rails file geolocation yaml geoip


    【解决方案1】:

    .dat 文件是一种数据库文件,其中内容以表格形式存储,但以压缩形式存储。只需找出哪些列是指国家和城市。在以下链接中,有类似的问题:

    Ruby sorting a .dat file by column

    How can I handle large files in Ruby?

    Getting a user country name from originating IP address with Ruby on Rails

    参考以上链接并修改代码以满足您的需要。

    【讨论】:

    • 除了添加几个链接之外,您能否提供一些工作代码并对其进行评论?
    • 谢谢。肯定会看一下,但是,也许有人可以提供一个工作代码示例?
    • 刚刚发现这个问题已经在 StackOverflow 中得到解答。这是链接:stackoverflow.com/questions/12293211/…
    • 好吧,readlines 输出一些奇怪的东西(奇怪的格式)。现在怎么解密呢?呃,但再次感谢
    • 如果你读取.dat文件,你可以使用.city 获取城市属性。有关详细信息,请参阅此链接:rubydoc.info/gems/geoip/1.1.2/GeoIP/City。否则,您读取 .csv 文件,可以使用 readline 等普通读取操作,然后根据定义的格式进行解析。
    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    相关资源
    最近更新 更多