<!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>
雨信
- 粉丝: 64
- 资源: 295
最新资源
- 吐鲁番地区实验中学教育管理规章制度(汇编).doc
- 体育教学评课稿.doc
- 外研版小学英语四年级(下册)知识点总结复习资料.doc
- 微观经济学(练习试题2及答案).doc
- 我国上市公司信息披露问题的探究.doc
- 微型计算机控制技术第4章习题答案.doc
- 小学生课外阅读现状分析报告.doc
- 物价知识培训教材.doc
- 新人版小学三年级语文第四单元.doc
- 小学数学作业批改评语集锦.doc
- 学生社会实践活动报告[精选多篇].doc
- 学校食堂自查报告[精选多篇].doc
- 新人版小学五年级上册英语教学计划.doc
- 移动L1认证考试代维传输线路题库一.doc
- 易班知识竞赛题库完整.doc
- 有效教学的三条铁律.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈