From bc5a184ff730697ff53031e0f4f8702b3f906ad4 Mon Sep 17 00:00:00 2001 From: Night-stars-1 <99261160+Night-stars-1@users.noreply.github.com> Date: Sun, 28 Dec 2025 02:01:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20IDM=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E4=B8=8B=E8=BD=BD=E7=99=BE=E5=BA=A6=E7=BD=91=E7=9B=98?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=20(#325)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 修复IDM无法下载百度网盘链接 * fix: 修复IDM无法正确解析URL的问题 * chore: 修改IDM下载方式 --- (改)网盘直链下载助手.user.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/(改)网盘直链下载助手.user.js b/(改)网盘直链下载助手.user.js index c14c540..7fbf876 100644 --- a/(改)网盘直链下载助手.user.js +++ b/(改)网盘直链下载助手.user.js @@ -788,7 +788,7 @@ async sendLinkToIDM(link, filename, filesize, headers = {}) { link = await this.getFinal(link, headers); - link = encodeURI(link); + // link = encodeURI(link); 这里返回的finalUrl已经编码了,不需要再编码 headers = this.standHeaders(headers); if (!temp.idm_number) temp.idm_number = 1; @@ -815,10 +815,12 @@ format(122, 4), // 122: 代理 ]; - let data = `MSG#${seq}#13#1#10241:${seq + 1000}:0:${time}:0:1:1:${filesize}:0,${fields.join(",")};`; + let data = `MSG#${seq}#13#1#10241:${seq + 1000}:0:${time}:0:1:2:${filesize}:0,${fields.join(",")};`; try { let res = await base.post(url, data, {}, "text"); - if (res?.status === 200 && res?.statusText === "IDM" && res.responseText.endsWith(`${seq}:3;`)) { + // 这里返回的是请求的响应文本,不是响应对象,所以res?.status === 200 && res?.statusText === "IDM"不能使用 + // 另外判断${seq}:3; 就足以判断出链接是否正确响应了 + if (res.endsWith(`${seq}:3;`)) { temp.idm_number++; return "success"; }; @@ -3119,7 +3121,7 @@ allLink.push(dlink); content.find(".pl-main").append(`
${filename}
${base.sizeFormat(size)}
- + @@ -8164,4 +8166,5 @@ a.downloadSubtitle:disabled, button.downloadSubtitle:disabled{background-color:$ } return charArray.join(""); } -})($ ?? jQuery); \ No newline at end of file + +})($ ?? jQuery);