From dc629a31264324e2b41f4dbfb3d28007c4a4fd53 Mon Sep 17 00:00:00 2001 From: yukaidi Date: Fri, 29 May 2026 02:53:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20P115Tool=20=E4=B8=AD=20UA=20=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=BA=20null=20=E6=97=B6=E7=9A=84=20NPE=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=BB=98=E8=AE=A4=20User-Agent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parser/src/main/java/cn/qaiu/parser/impl/P115Tool.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/parser/src/main/java/cn/qaiu/parser/impl/P115Tool.java b/parser/src/main/java/cn/qaiu/parser/impl/P115Tool.java index a02c586..0e3a23f 100644 --- a/parser/src/main/java/cn/qaiu/parser/impl/P115Tool.java +++ b/parser/src/main/java/cn/qaiu/parser/impl/P115Tool.java @@ -21,6 +21,8 @@ public class P115Tool extends PanBase { private static final String SECOND_REQUEST_URL = API_URL_PREFIX + "share/skip_login_downurl"; + private static final String DEFAULT_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"; + private static final MultiMap header; static { @@ -49,9 +51,11 @@ public class P115Tool extends PanBase { public Future parse() { // 第一次请求 获取文件信息 + Object uaObj = shareLinkInfo.getOtherParam().get("UA"); + String ua = uaObj != null ? uaObj.toString() : DEFAULT_UA; client.getAbs(UriTemplate.of(FIRST_REQUEST_URL)) .putHeaders(header) - .putHeader("User-Agent", shareLinkInfo.getOtherParam().get("UA").toString()) + .putHeader("User-Agent", ua) .setTemplateParam("dataKey", shareLinkInfo.getShareKey()) .setTemplateParam("dataPwd", shareLinkInfo.getSharePassword()) .send().onSuccess(res -> { @@ -68,7 +72,7 @@ public class P115Tool extends PanBase { // share_code={dataKey}&receive_code={dataPwd}&file_id={file_id} client.postAbs(SECOND_REQUEST_URL) .putHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") - .putHeader("User-Agent", shareLinkInfo.getOtherParam().get("UA").toString()) + .putHeader("User-Agent", ua) .sendForm(MultiMap.caseInsensitiveMultiMap() .set("share_code", shareLinkInfo.getShareKey()) .set("receive_code", shareLinkInfo.getSharePassword())