perl批量查询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=~/地区名/; }
相关推荐
边城客栈学无止境 2020-07-05
Walter的学习笔记 2020-07-04
A宇 2020-06-14
边城客栈学无止境 2020-06-10
邓博学习笔记 2020-06-03
davidliu00 2020-05-26
ShiShuo 2020-05-16
Aggressivesnail 2020-05-10
ShiShuo 2020-04-26
hanxingwang00 2020-04-22
davidliu00 2020-03-06
ShiShuo 2020-03-06
ShiShuo 2020-03-05
Aggressivesnail 2020-02-28
aaLiweipeng 2020-02-01
amberom 2020-01-16
Walter的学习笔记 2020-01-06