Python 在squid 3.3.8中使用外部_acl_类型

Python 在squid 3.3.8中使用外部_acl_类型,python,mysql,squid,Python,Mysql,Squid,我正在使用Squid 3.3.8,我需要检查Mysql中的客户端ip/mac。我听说了外部的acl类型,并编写了一个小python脚本。此脚本接受一个参数[ip/mac]并使用mysql表检查它,如果没有结果,它将打印“ERR”,如果有此ip的记录,它将打印“OK”。我读到helper程序必须返回“ERR”或“OK”,这就是为什么要这样设计。但现在我不知道如何获得作为参数传递给脚本的客户端的ip/mac地址。。有人能解释一下吗?或者也许有人知道我在哪里可以得到这种类型的帮助程序为鱿鱼 关于,我也

我正在使用Squid 3.3.8,我需要检查Mysql中的客户端ip/mac。我听说了外部的acl类型,并编写了一个小python脚本。此脚本接受一个参数[ip/mac]并使用mysql表检查它,如果没有结果,它将打印“ERR”,如果有此ip的记录,它将打印“OK”。我读到helper程序必须返回“ERR”或“OK”,这就是为什么要这样设计。但现在我不知道如何获得作为参数传递给脚本的客户端的ip/mac地址。。有人能解释一下吗?或者也许有人知道我在哪里可以得到这种类型的帮助程序为鱿鱼


关于,

我也使用squid\u db\u auth进行身份验证,请使用

    sub ip_check_client()

  {
 my %hostname;

while (<>) {
    my $line = $_;
    my($host, $rest) = split / /, $line, 2;
    if ($host =~ /^\d+\.\d+\.\d+\.\d+$/) {
       unless (exists $hostname{$host}) {
       $hostname{$host} = gethostbyaddr(inet_aton($host), AF_INET);
        }
        if ($hostname{$host}) {
        $line = "$hostname{$host} $rest";
        }
        }
           return $line;
     }
  }
子ip检查客户端()
{
我的%hostname;
而(){
我的$line=$\ux;
我的($host,$rest)=拆分/,$line,2;
如果($host=~/^\d+\.\d+\.\d+\.\d+$/){
除非(存在$hostname{$host}){
$hostname{$host}=gethostbyaddr(inet_aton($host),AF_inet);
}
if($hostname{$host}){
$line=“$hostname{$host}$rest”;
}
}
返回$line;
}
}
请仅用于ip捕获