Java中代理匿名性的检测

Java中代理匿名性的检测,java,http,proxy,header,anonymity,Java,Http,Proxy,Header,Anonymity,我需要确定代理匿名性的级别。我使用以下php脚本进行检测: <?php if (!getenv('HTTP_X_FORWARDED_FOR')){ echo "Anonymous"; exit; } if ((!getenv('HTTP_X_FORWARDED_FOR')) && (!getenv('HTTP_VIA')) && (!getenv('HTTP_PROXY_CONNECTION')){ echo "High Anonym

我需要确定代理匿名性的级别。我使用以下php脚本进行检测:

<?php
if (!getenv('HTTP_X_FORWARDED_FOR')){
    echo "Anonymous";
    exit;
}
if ((!getenv('HTTP_X_FORWARDED_FOR')) && (!getenv('HTTP_VIA')) && (!getenv('HTTP_PROXY_CONNECTION')){
    echo "High Anonymous";
    exit;
}
echo "Unknown";
?>
我的问题是90%的工作匿名代理被脚本识别为“未知”。例如,如果我加载任何ip确定服务,它将显示代理的ip,这意味着它是匿名的。
有人能告诉我问题出在哪里吗?

你应该把你的
回音改成“Unknown”编码到else部分。
否则,它将始终显示

  <?php
    if (!getenv('HTTP_X_FORWARDED_FOR')){
        echo "Anonymous";
        exit;
    }elseif ((!getenv('HTTP_X_FORWARDED_FOR')) && (!getenv('HTTP_VIA')) && (!getenv('HTTP_PROXY_CONNECTION')){
        echo "High Anonymous";
        exit;
    } else {
    echo "Unknown";
}
    ?>

  <?php
    if (!getenv('HTTP_X_FORWARDED_FOR')){
        echo "Anonymous";
        exit;
    }elseif ((!getenv('HTTP_X_FORWARDED_FOR')) && (!getenv('HTTP_VIA')) && (!getenv('HTTP_PROXY_CONNECTION')){
        echo "High Anonymous";
        exit;
    } else {
    echo "Unknown";
}
    ?>