欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

php教程

123网盘直连解析下载php源码

php教程 我的站长站 2023-06-29 共83人阅读

一段123网盘直连解析下载源码,CSS样式都有,界面也很不错,复制到PHP环境即可运行。

<!DOCTYPE html>
<html>
<head>
    <title>123解析</title>
    <style>
        body {
            font-family: "Helvetica Neue", Arial, sans-serif;
            background-color: #f5f5f7;
            margin: 0;
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
        }

        .container {
            max-width: 600px;
            padding: 20px;
            box-sizing: border-box;
            text-align: center;
        }

        h1 {
            font-size: 32px;
            font-weight: bold;
            color: #333333;
            margin-bottom: 40px;
            margin-top: 40px;
        }

        form {
            margin-bottom: 40px;
        }

        label {
            display: block;
            font-size: 20px;
            font-weight: bold;
            color: #333333;
            margin-bottom: 10px;
        }

        input[type="text"] {
            width: 100%;
            padding: 12px;
            font-size: 16px;
            border: 1px solid #cccccc;
            box-sizing: border-box;
            margin-bottom: 20px;
        }

        input[type="submit"] {
            padding: 12px 24px;
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            background-color: #0070c9;
            border: none;
            cursor: pointer;
        }

        .download-link {
            margin-top: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
      

        .error-icon {
            margin-right: 10px;
            color: #ff0000;
            font-size: 24px;
        }

        .success-icon {
            margin-right: 10px;
            color: #009900;
            font-size: 24px;
        }

        a {
            display: inline-block;
            padding: 12px 24px;
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            background-color: #0070c9;
            text-decoration: none;
        }

        a:hover {
            background-color: #0057a0;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>123解析</h1>
        <form method="post" action="">
            <label for="shareUrl">分享链接:</label>
            <input type="text" id="shareUrl" name="shareUrl" required>
            <input type="submit" name="submit" value="解析">
        </form>

        <?php if(isset($_POST['submit']) && isset($redirectUrl)): ?>
            
        <?php endif; ?>
<?php
if(isset($_POST['submit'])) {
    $shareUrl = $_POST['shareUrl'];
    $shareCode = "";
    $pattern = "/(?<=\/s\/)[^\/.]+/";
    preg_match($pattern, $shareUrl, $match);

    if ($match) {
        $shareId = $match[0];
        $extractCodePattern = "/提取码:(\w+)/";
        preg_match($extractCodePattern, $shareUrl, $extractCodeMatch);

        if ($extractCodeMatch) {
            $shareCode = $extractCodeMatch[1];
        }

        // Get user information
        getInfo($shareId, $shareCode);
    } else {
        echo'<span class="error-icon">✗</span>'. "错误: 123pan URL 未找到!";
    }
}

function getInfo($shareId, $shareCode) {
    $requestUrl = "https://www.123pan.com/b/api/share/get?limit=100&next=1&orderBy=share_id&orderDirection=desc&shareKey=" . $shareId . "&SharePwd=" . $shareCode . "&ParentFileId=0&Page=1";
    $opts = array(
        'http' => array(
            'header' => "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.100\r\n"
        )
    );
    $context = stream_context_create($opts);
    $responseText = file_get_contents($requestUrl, false, $context);

    parseInfo($responseText, $shareId);
}

function parseInfo($str, $shareId) {
    $data = json_decode($str, true);

    if ($data['code'] == 0) {
        $type = $data['data']['InfoList'][0]['Type'];

        if ($type == 0) {
            $fileId = $data['data']['InfoList'][0]['FileId'];
            $size = $data['data']['InfoList'][0]['Size'];
            $s3KeyFlag = $data['data']['InfoList'][0]['S3KeyFlag'];
            $etag = $data['data']['InfoList'][0]['Etag'];

            // Perform second step
            combinedData($shareId, $fileId, $size, $s3KeyFlag, $etag);
        } else {
            echo "错误: Folder parsing is currently not supported.";
        }
    } else {
        $code = $data['code'];
        $message = $data['message'];
        echo '<span class="error-icon">✗</span>'."错误: 错误码" . $code . "//" . $message;
    }
}

function combinedData($shareId, $fileId, $size, $s3KeyFlag, $etag) {
    $requestUrl = "https://www.123pan.com/b/api/share/download/info";
    $postData = json_encode(array(
        "ShareKey" => $shareId,
        "FileID" => $fileId,
        "S3keyFlag" => $s3KeyFlag,
        "Size" => $size,
        "Etag" => $etag
    ));

    $opts = array(
        'http' => array(
            'header' => "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.100\r\n" .
                        "Content-Type: application/json;charset=UTF-8\r\n",
            'method' => 'POST',
            'content' => $postData
        )
    );
    $context = stream_context_create($opts);
    $response = file_get_contents($requestUrl, false, $context);

    parseDownloadURL($response);
}

function parseDownloadURL($str) {
    $data = json_decode($str, true);

    if ($data['code'] == 0) {
        $downloadURL = $data['data']['DownloadURL'];
        $downloadURL = extractDownloadLink($downloadURL);
        getDirectLink($downloadURL);
    } else {
        $code = $data['code'];
        $message = $data['message'];
        echo '<span class="error-icon">✗</span>'."错误: 错误码" . $code . "//" . $message;
    }
}

function extractDownloadLink($str) {
    $pattern = "/params=([^&]+)/";
    preg_match($pattern, $str, $match);

    if ($match) {
        $paramsValue = $match[1];
        $decodedString = base64_decode($paramsValue);

        // Check if auto_redirect parameter exists
        if (strpos($decodedString, 'auto_redirect') === false) {
            if (strpos($decodedString, '?') !== false) {
                $decodedString .= "&auto_redirect=0";
            } else {
                $decodedString .= "?auto_redirect=0";
            }
        }

        return $decodedString;
    } else {
        echo "Failed to extract Download URL";
    }
}

function getDirectLink($requestUrl) {
    $opts = array(
        'http' => array(
            'header' => "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.100\r\n"
        )
    );
    $context = stream_context_create($opts);
    $responseText = file_get_contents($requestUrl, false, $context);

    parseDirectLink($responseText);
}

function parseDirectLink($str) {
    $data = json_decode($str, true);

    if ($data['code'] == 0) {
        $redirectUrl = $data['data']['redirect_url'];
         echo '<span class="success-icon">✓</span><a href="' . $redirectUrl . '">点击下载</a>';
    } else {
        $code = $data['code'];
        $message = $data['message'];
        echo '<span class="error-icon">✗</span>'."错误: 错误码" . $code . "//" . $message;
    }
}
?>
    </div>
</body>
</html>
相关推荐
  • 123网盘
  • 直连解析
  • 解析下载
  • 123网盘解析下载python脚本

    import requestsimport reimport tkinter as tkfrom io import BytesIOfrom urllib.request import urlopenimport base64import jsonclass Form1(tk.Tk): def __init__(self): super().__init__() self.title("123Pan下载工具") ...

    python教程 545 10个月前
  • 123网盘在线解析下载网站源码
    123网盘在线解析下载网站源码

    源码简介123网盘在线解析下载网站源码,单文件PHP源码,只需在相关网站上找到资源链接,然后粘贴到123网盘解析PHP版本源码中进行解析,即可在网页上直接解析出下载链接。...

    php源码 596 10个月前
  • 123网盘直连解析下载php源码

    一段123网盘直连解析下载源码,css样式都有,界面也很不错,复制到PHP环境即可运行。<!DOCTYPE html><html><head> <title>123解析</title> <style> body { font-family: "Helvetica Neue", Arial, sans-serif; backgr...

    php教程 83 9个月前
  • 百度/天翼/阿里/微云/迅雷网盘在线直连解析工具大全
    百度/天翼/阿里/微云/迅雷网盘在线直连解析工具大全

    前言之前我的站长站分享过几款网盘直连工具,不过现在不是阿里也推出了阿里云网盘吗,虽然阿里云盘下载不错,但是还是没达到效果。所以我的站长站又找了几款支持阿里云盘的直连解析工具,做了一次整理大...

    在线工具 13090 2年前
  • 分享两款天翼网盘直连解析下载工具
    分享两款天翼网盘直连解析下载工具

    在线工具说明分享两款天翼网盘直连解析下载工具,都是我的站长站自用收藏工具,其中一款之前分享过,这次一起打包分享。天翼网盘直连解析截图工具名称工具网址天翼云直链解析 - 涟漪https://189.ly93....

    在线工具 1397 2年前
  • 天翼云盘免登陆解析不限速直连下载模板
    天翼云盘免登陆解析不限速直连下载模板

    HTML天翼云盘解析不限速直连下载模板,纯HTML单文件模板,无需要登录,不限速,打开即可使用。天翼云盘不限速截图

    html模板 651 3年前
  • 最新蓝奏云直连解析API接口php代码

    API接口说明支持检测文件是否被取消支持带密码的文件分享链接但不支持分享的文件夹支持生成直链或直接下载增加ios应用在线安装解析最终直链自动识别旧版链接替换为新版并解析接口使用方法url:蓝奏云外链链接type:是否直接下载 值:downpwd:外链密码直...

    php教程 667 1年前
  • 诚通网盘在线直连解析下载源码
    诚通网盘在线直连解析下载源码

    源码介绍诚通网盘在线直连解析下载源码,仅使用官方API解析直连下载地址,并不能突破官方限速。但是可以搭配IDM等工具实现大文件断点续传!源码截图源码使用方法只要把文件ID复制到网页中,再填入密码,最...

    html模板 97 1年前
  • 抖音/皮皮虾/快手短视频无水印解析下载工具
    抖音/皮皮虾/快手短视频无水印解析下载工具

    软件介绍做短视频的兄弟必备,搬运利器,支持抖音、皮皮虾、快手短视频无水印解析下载工具。软件截图

    软件分享 628 2年前
  • 搬运工福利 在线下载国外视频网站视频文件
    搬运工福利 在线下载国外视频网站视频文件

    如同国内的视频解析网站一样,这是一款国外的专业视频解析下载网站。国内媒体搬运工的福利工具,本款在线工具可以在线解析视频直接下载。支持下载网站:YouTube、Facebook、Vimeo、Mixcloud、Soundclo...

    在线工具 213177 4年前
  • 收费音乐在线解析下载
    收费音乐在线解析下载

    今天小编又来推荐一个可免费下载VIP会员付费音乐的网站—–VIP会员付费音乐解析下载网。本来想直接加在以前推荐的同类音乐网站里,但是体验了下,感觉不错。所以,还是单独推荐一下。这是小编今天在下...

    在线工具 6388 5年前
  • 收费音乐在线解析下载,支持所有音乐平台
    收费音乐在线解析下载,支持所有音乐平台

    一直自用的收费音乐解析下载,非常稳定,支持网易 QQ 酷狗 酷我 虾米 百度 一听 咪咕 荔枝 蜻蜓 喜马拉雅 全民K歌 5sing原创 5sing翻唱全音乐平台解析下载。收费音乐下载工具功能1、支持直接搜索歌曲...

    在线工具 3488 5年前
  • 在线VIP视频在线解析免费收看
    在线VIP视频在线解析免费收看

    现在我国越来越重视版权了,盗版视频网站纷纷关闭,现在要想看个盗版电影只能在网上找枪版资源,而且还非常难找。去大型平台上看又都要收费,各种VIP像我们这样的农民工真付不起。今天给大家分享一种利...

    在线工具 2577 5年前