欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

perl批量查询ip归属地的方法代码

程序员文章站 2024-01-11 22:38:05
由于业务需要,要查询客户的ip地址,将部分地区的客户过滤出来,开始想到使用ip数据库,发现读取纯真数据库的难度对我来说有些大,而我目前的时间要求比较紧迫,通过在群里询问,感...

由于业务需要,要查询客户的ip地址,将部分地区的客户过滤出来,开始想到使用ip数据库,发现读取纯真数据库的难度对我来说有些大,而我目前的时间要求比较紧迫,通过在群里询问,感谢黑影子和扶凯的帮忙,推荐了ip::qqwry::decoded这个模块,该模块是专门用来读取qqwry纯真数据库的,用起来非常简单。

复制代码 代码如下:

#!/usr/bin/perl
use ip::qqwry::decoded;
use encode;
use utf8;
binmode(stdin, ':encoding(utf8)');   #这三行
binmode(stdout, ':encoding(utf8)');  #抄别人的
binmode(stderr, ':encoding(utf8)');  #用来输出中文,和拿中文查找
my $qqwry=ip::qqwry::decoded->new('qqwry.dat','gbk');
open unuse,'iplist.txt';
while (<unuse>){
        ($id,$ip,$key)=/(\d+)\s+(.*?)\s+(.*)/;
        my $info=$qqwry->query("$ip");    #其实关键代码就这一行,哈哈
        printf "%s\t%s\t%s\n",$id,$ip,$key if $info=~/地区名/;
}