zoukankan      html  css  js  c++  java
  • 使用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=~/地区名/;
    }

    其中,这样,就可以使用中文字符来过滤你想要的地区了,省了不少力气。

  • 相关阅读:
    010-1 Socket地址族AddressFamily
    011 Socket定义客户端
    003 win7如何配置adb环境变量
    002 调试工具的具体功能
    001 Nibiru SDK 调试工具介绍
    001 UI介绍
    010 socket定义服务器
    001 Lua相关链接
    000 Lua目录
    深拷贝的、浅拷贝讲解以及示例
  • 原文地址:https://www.cnblogs.com/agostop/p/3016837.html
Copyright © 2011-2022 走看看