PHP 脚本批量检查 URL 状态码和最终落地页
下面是一个批量检查 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 的文本文件中。
原文地址: https://www.cveoy.top/t/topic/pXFR 著作权归作者所有。请勿转载和采集!