在PHP中如何检测SOCKS5代理状态

   2024-09-30 4740
核心提示:要在 PHP 中检测 SOCKS5 代理的状态,可以使用 cURL 库?phpfunction check_socks5_proxy($proxy_host, $proxy_port) {$url = htt

要在 PHP 中检测 SOCKS5 代理的状态,可以使用 cURL 库

<?phpfunction check_socks5_proxy($proxy_host, $proxy_port) {    $url = "http://www.example.com"; // 用于测试代理的目标 URL    $ch = curl_init($url);    // 设置 cURL 选项    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);    curl_setopt($ch, CURLOPT_PROXY, $proxy_host . ':' . $proxy_port);    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);    curl_setopt($ch, CURLOPT_TIMEOUT, 30);    // 发送请求并获取响应    $response = curl_exec($ch);    // 检查是否有错误    if (curl_errno($ch)) {        echo "Error: " . curl_error($ch);        return false;    }    // 关闭 cURL 会话    curl_close($ch);    // 检查响应是否包含目标 URL 的内容(表示代理有效)    if (strpos($response, "Example Domain") !== false) {        return true;    } else {        return false;    }}// 使用示例$proxy_host = "127.0.0.1";$proxy_port = 1080;if (check_socks5_proxy($proxy_host, $proxy_port)) {    echo "SOCKS5 proxy is working.";} else {    echo "SOCKS5 proxy is not working.";}?>

这个函数首先初始化一个 cURL 会话,然后设置代理服务器的相关选项。接着,它发送一个 HTTP 请求并等待响应。如果响应中包含目标 URL 的内容,那么说明代理有效。如果有任何错误或响应不符合预期,则认为代理无效。

请注意,这个示例需要安装并启用 PHP 的 cURL 扩展。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号