0

在我的新 Ruby on rails 应用程序中,我想找到用户的国家代码。
所以我正在使用 MaxMind GeoIp。当我在 gunzip 之后下载 gzip 文件时,它给了我一个 GeoIP.dat 文件,我被困在这里。任何人都可以帮助。
如果他们是打开它的程序或使用它的某些程序。或者,如果有人可以建议我另一种方式。

4

2 回答 2

2

正如@Kyle 指出的那样,您可以下载“人类可读”的 CSV 文件而不是二进制 DAT 文件。MaxMind 的“GeoLite”下载在这里

此处描述了 CSV 文件格式

但请注意(来自上面的链接):

由于地理位置数据库的规模很大,我们通常建议将我们的二进制格式与我们的 API 之一结合使用,因为它们针对速度和磁盘空间进行了高度优化。另一方面,如果您需要将数据导入 SQL 数据库,则建议使用 CSV 格式。

此处列出了API 。没有列出 Javascript API,但 Ruby 有几个选项。

因此,直接回答您的问题:您不会像电子表格文档那样直接“打开” dat 文件。相反,您将编写自己的程序,使用他们的 API 来读取 dat 文件,并执行您设计的任何任务或查询。查看他们的 API 文档,了解如何开始使用它的详细信息。

于 2012-09-06T05:37:51.097 回答
1

.dat只是一个文件扩展名。内容可以是任何东西。文本。二进制数据等...

任何人都无法可靠地告诉您如何打开文件。

我会尝试从命令行查看文件的内容:

less file_name.dat

您可以像这样在 ruby​​ 中打开文件并逐行读取:

IO.readlines('file_name.dat').each do |line|
  # do something with the line
end

编辑:我想我找到了你所指的文件。为什么不去这里下载一个csv版本呢?.dat版本不是纯文本。

于 2012-09-06T05:11:07.253 回答