公告
  
重要通知:网站网络变更中可能出现站点图片无法加载的问题,点击此处可解决!
更多资讯可访问:点击查看消息详情!

朕已阅

检测百度网盘链接是否失效PHP代码

admin 千秋月 关注 管理组 论坛神话
发表于程序代码版块 技术杂文
检测百度网盘链接是否失效PHP代码:


<?php
// 设置页面字符编码为UTF-8,确保能正确输出中文
header('Content-Type: text/html; charset=utf-8');

function isLinkValid($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36');
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
    ));
    // 启用自动跟随重定向
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $body = curl_exec($ch);
    $error = curl_error($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($error) {
        return array('valid' => false, 'reason' => '网络错误');
    }

    if ($httpcode!= 200) {
        return array('valid' => false, 'reason' => 'HTTP错误: '. $httpcode);
    }

    $error_patterns = array(
        'class="error-404"' => '分享已取消',
        '分享的文件已经被删除了' => '文件已删除',
        '啊哦,你来晚了' => '链接已过期',
        '链接不存在' => '链接不存在',
        '分享内容已失效' => '分享已失效',
        '分享的文件已过期' => '文件已过期',
        '分享的文件已被取消了' => '分享已取消',
        'error-img' => '链接错误',
        'error-page' => '页面错误',
        'share-error' => '分享错误'
    );

    foreach ($error_patterns as $pattern => $reason) {
        if (strpos($body, $pattern)!== false) {
            return array('valid' => false, 'reason' => $reason);
        }
    }

    $valid_patterns = array(
        'share-download' => true,    // 下载按钮
        'share-file-info' => true,   // 文件信息
        'share-verify' => true,      // 提取码验证
        'pickcode' => true           // 提取码输入框
    );

    $found_valid_pattern = false;
    foreach ($valid_patterns as $pattern => $required) {
        if (strpos($body, $pattern)!== false) {
            $found_valid_pattern = true;
            break;
        }
    }

    if (!$found_valid_pattern) {
        return array('valid' => false, 'reason' => '无效的分享页面');
    }
    return array('valid' => true, 'reason' => '网盘正常');
}

// 获取 URL 参数
if (isset($_GET['url'])) {
    $url = $_GET['url'];
    $result = isLinkValid($url);
    header('Content-Type: application/json');
    echo json_encode($result, JSON_UNESCAPED_UNICODE); // 添加JSON_UNESCAPED_UNICODE参数,确保中文正常输出
} else {
    echo "请提供 URL 参数,例如:?url=https://pan.baidu.com/s/xxxx";
}
?>

本文章最后由 admin2025-01-20 15:57 编辑
评论列表 评论
xyrjk xyrjk 普通用户 进阶会员 2#
真是难得给力的帖子啊。真是难得给力的帖子啊。真是难得给力的帖子啊。
发布评论

评论: 检测百度网盘链接是否失效PHP代码



点击进入免费吃瓜群!吃大瓜! 广告位支持代码、文字、图片展示 Image


免责声明
本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。 不得用于商业或非法用途,否则,一切责任由该用户承担 !

请求资源或报告无效资源,请点击[反馈中心]


侵权删除请致信 E-Mail:chengfengad@gmail.com
已有0次打赏
(0) 分享
分享
取消