This commit is contained in:
蒋小陌 2024-11-03 14:28:33 +08:00
parent f243697788
commit ae9a73c457
2 changed files with 13 additions and 6 deletions

File diff suppressed because one or more lines are too long

View File

@ -62,6 +62,9 @@ const server = http.createServer(async (req, res) => {
req.url = req.url.replace(/\/{2,}/g, '/');
const parsedUrl = url.parse(req.url, true);
// 解析得到 sign 字段
const sign = parsedUrl.query.sign || '';
// 获取第一个路径
let reqPath = parsedUrl.pathname.split('/')[1];
@ -161,7 +164,7 @@ const server = http.createServer(async (req, res) => {
// 增加 API 调用次数
viewsInfo.apiCall++;
const apiData = await fetchApiData(reqPath, token);
const apiData = await fetchApiData(reqPath, token, sign);
if (apiData.code === 200 && apiData.data && apiData.data.url) {
const { url: realUrl, cloudtype, expiration, path, headers, uniqid } = apiData.data;
const data = { realUrl, cloudtype, expiration: expiration * 1000, path, headers, uniqid };
@ -224,15 +227,19 @@ const isCacheValid = (cacheMetaFile, cacheContentFile) => {
};
// 从 API 获取数据
const fetchApiData = (reqPath, token) => {
const fetchApiData = (reqPath, token, sign) => {
return new Promise((resolve, reject) => {
// 将请求路径和参数进行编码
const queryParams = querystring.stringify({ type: reqPath });
const queryParams = querystring.stringify({
type: reqPath,
sign: sign
});
const apiUrl = `${apiEndpoint}?${queryParams}`;
const apiReq = https.request(apiUrl, {
method: 'GET',
headers: {
'Accept': 'application/json',
'Accept': 'application/json; charset=utf-8',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36',
'token': token
},
timeout: requestTimeout,
@ -244,7 +251,7 @@ const fetchApiData = (reqPath, token) => {
try {
resolve(JSON.parse(data));
} catch (error) {
reject(error + data);
reject(error);
}
});
});