下面是一个批量检查 URL 状态码和最终落地页的 PHP 脚本示例:

<?php
// 从 list1.txt 文件读取 URL 列表
$urlList = file('list1.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

// 创建保存结果的数组
$result = array();

foreach ($urlList as $url) {
    // 发送 HTTP 请求并获取响应状态码和最终落地页
    $response = getResponse($url);
    
    // 将结果保存到数组中
    $result[] = array(
        'url' => $url,
        'status' => $response['status'],
        'final_url' => $response['final_url']
    );
}

// 导出结果到 txt 文件
exportResult($result, 'result.txt');

/**
 * 发送 HTTP 请求并获取响应状态码和最终落地页
 * 
 * @param string $url URL 地址
 * @return array 包含状态码和最终落地页的关联数组
 */
function getResponse($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_exec($ch);
    
    // 获取状态码和最终落地页
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $finalUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    
    curl_close($ch);
    
    return array(
        'status' => $status,
        'final_url' => $finalUrl
    );
}

/**
 * 导出结果到 txt 文件
 * 
 * @param array $result 结果数组
 * @param string $filename 导出文件名
 */
function exportResult($result, $filename) {
    $fp = fopen($filename, 'w');
    
    // 写入标题行
    fwrite($fp, "URL\tStatus\tFinal URL\n");
    
    foreach ($result as $row) {
        // 写入每一行数据
        fwrite($fp, "{$row['url']}\t{$row['status']}\t{$row['final_url']}\n");
    }
    
    fclose($fp);
    echo "结果已保存到{$filename}文件中。\n";
}
?>

你需要将要检查的 URL 列表保存到一个名为 list1.txt 的文本文件中,每个 URL 一行。脚本会将检查结果保存到名为 result.txt 的文本文件中。

PHP 脚本批量检查 URL 状态码和最终落地页

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

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