现在很多博客都使用了评论显示 UserAgent 以及 IP 的代码,这样可以显示访客的 IP 来源、浏览器以及系统信息等等,有些博客甚至更近一步,显示了访客的运营商信息,知道你使用哪家的网络服务。
不过我觉得这种方式过犹不及,现在博客上三图标的显示方式简洁而且不会透露访客过多的信息,正合适。
昨天查看博客的时候,突然发现一个问题,就是访客三信息中缺失了一个,有一个信息没有显示出来。
当时还感觉有些奇怪,是不是代码出了问题,想着可能网络有波动吧,没有显示出来,后面一看还是这样,就寻思着要解决一下。
看了一下,其它人的信息都可以正确显示,唯独缺了中间这个,看来应该不是代码的原因,仔细看了一下是缺失了 IP 的信息,于是明白过来可能是 IP 地址库的原因。
现在用的这个 IP 地址库是网络上 2015 年左右的,当时开始兴起评论显示 UA 的风潮,大多数教程也都是这个时候写就的,如果 IP 地址库是那时更新的,到现在也有四年之久了。
于是便开始着手更新我的 IP 地址信息库:
下载最新 IP 地址信息
我们进入这个网站,点击右边的Download
下载最新的 IP 地址信息,注意下载CSV
格式的IPV4
数据。
然后将下载好的压缩包解压,得到IpToCountry.csv
文件,注意文件名大小顺序是否相同,因为后面转换格式要匹配文件名。
下载 ip2c 转换包
原先下载的IpToCountry.csv
文件数据太大,足足有十几 M 的大小,我们要将它压缩一下,以便快速访问。
使用转换程序将.csv
格式的文件转换成.bin
格式的文件,大大减少其体积,方便程序的调用。
具体的程序下载地址如下:
下载后将压缩包解压,然后将前面下载的IpToCountry.csv
文件放在ip2c
文件夹目录下,和ip2c.jar
等文件同一目录层级。
安装 JAVA
运行jar
文件需要 JAVA 环境,你可以运行CMD
输入JAVA
查看是否有输出,如果显示:‘JAVA’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
这说明电脑没有安装 JAVA 或者没有配置好环境变量,可以根据下面的教程进行修改。
下载 JAVA 程序
进入 Oracle 官方网站下载,点击这里下载最新的 JAVA 程序。
点击右方的Download
按钮,跳转页面找到WindowsX64.exe
格式的文件即可下载,如果显示需要登录,那就注册账号后进行下载或者找其他平台进行下载。
配置环境变量
安装的步骤没什么难度,直接点下一步即可,直到安装完成,需要注意的是要记下程序的安装目录,后面要用到。
打开环境变量配置窗口
右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量,进入环境变量设置页面。
我们修改下面的系统环境变量设置,配置 JAVA 需要的环境变量。
新建 JAVA_HOME 变量
点击新建,添加JAVA_HOME
变量,依次在新窗口中输入如下数据:
变量名:JAVA_HOME 变量值:电脑上 JDK 安装的绝对路径
路径的具体位置就是你刚才安装的目录,打开目录将上方地址栏的信息复制到变量值处。
新建/修改 CLASSPATH 变量
如果已经存在CLASSPATH
变量,就点击修改,否则选择新建。
变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
修改 Path 变量
找到Path
变量点击编辑,然后新建两条路径:
%JAVA_HOME%\bin %JAVA_HOME%\jre\bin
检查是否安装成功
运行CMD
命令,输入JAVA
回车,如果出现如下信息,说明 JAVA 环境配置成功。
转换 IP 地址信息
我们打开ip2c
目录,运行里面的转换.bat
文件,即可成功将IpToCountry.csv
文件转换成ip-to-country.bin
文件,可以看到转换后的文件大小不足 1M,转换效率还是非常高的。
如果运行bat
文件没有反应,则可以通过CMD
命令进行转换:
#cd 进入 ip2c 文件目录,运行以下命令 java -jar ip2c.jar -c IpToCountry.csv ip-to-country.bin
至此我们需要的 IP 地址信息库就已经更新了,将文件上传到服务器对应目录覆盖源文件即可。
进入网页查看效果,果然已经可以正确显示 IP 信息,说明数据更新成功。
以后也可以定期更新 IP 地址信息,防止出现“火星人”的情况。
当然有些小伙伴比较懒,这里也奉上刚刚转换的最新 2019 年 11 月的 IP 地址信息,免去大家繁琐的操作。