以下是一个简单的PHP代码示例,使用curl和多线程来检测每个URL的重定向和可访问性:

<?php

// 定义URL范围
$start = 6950;
$end = 7000;

// 初始化cURL多线程句柄
$mh = curl_multi_init();

// 循环添加cURL句柄
for ($i = $start; $i <= $end; $i++) {
    $url = 'http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/322122'.$i.'/index.m3u8';
    $ch = curl_init();

    // 设置cURL选项
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 5);

    // 将cURL句柄添加到多线程句柄中
    curl_multi_add_handle($mh, $ch);
}

// 执行多线程请求
$running = null;
do {
    curl_multi_exec($mh, $running);
} while ($running > 0);

// 循环处理每个cURL句柄
for ($i = $start; $i <= $end; $i++) {
    $url = 'http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/322122'.$i.'/index.m3u8';
    $ch = curl_multi_getcontent($mh);

    // 获取HTTP状态码和重定向URL
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $redirect_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

    // 检测URL是否可访问
    $is_accessible = false;
    if ($http_code == 200) {
        $test_ch = curl_init($redirect_url);
        curl_setopt($test_ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($test_ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($test_ch, CURLOPT_MAXREDIRS, 5);
        $test_result = curl_exec($test_ch);
        $test_http_code = curl_getinfo($test_ch, CURLINFO_HTTP_CODE);
        if ($test_http_code == 200) {
            $is_accessible = true;
        }
        curl_close($test_ch);
    }

    // 显示结果
    echo "URL: $url\n";
    echo "Redirect URL: $redirect_url\n";
    echo "HTTP Code: $http_code\n";
    echo "Is Accessible: " . ($is_accessible ? "Yes" : "No") . "\n\n";

    // 从多线程句柄中移除cURL句柄
    curl_multi_remove_handle($mh, $ch);
    curl_close($ch);
}

// 关闭多线程句柄
curl_multi_close($mh);

?>

这段代码首先定义了URL范围,然后初始化了一个cURL多线程句柄。然后循环添加每个URL的cURL句柄,并设置选项来允许重定向和限制最大重定向次数。

然后,代码执行多线程请求,等待所有请求完成。接下来,循环处理每个cURL句柄,获取HTTP状态码和重定向URL。然后,代码检测重定向URL是否可访问,如果是,则将$is_accessible标记为true。

最后,代码显示每个URL的结果,并从多线程句柄中移除和关闭cURL句柄和多线程句柄。

希望这能帮助你开始检测每个URL的重定向和可访问性

$i为6950到7000 $url=httpdbiptvsnchinamobilecomPLTV88888893224322122$iindexm3u8; php curl多线程 检测$url 302后的真实地址是否正常访问 并且显示出所有正常访问与不能访问

原文地址: https://www.cveoy.top/t/topic/fqsO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录