From ac71e66fe11012964f47ad9d8f0703ee7f2251c3 Mon Sep 17 00:00:00 2001 From: Glavo Date: Mon, 24 Nov 2025 20:33:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20FetchTask=20=E6=9C=AA?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=20User-Agent=20=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(#4850)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/jackhuang/hmcl/task/FetchTask.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FetchTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FetchTask.java index f8c6e7622..742c4fcb0 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FetchTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FetchTask.java @@ -210,8 +210,10 @@ public abstract class FetchTask extends Task { headers.putAll(repository.injectConnection(uri)); do { - HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(currentURI); - requestBuilder.timeout(Duration.ofMillis(NetworkUtils.TIME_OUT)); + HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(currentURI) + .timeout(Duration.ofMillis(NetworkUtils.TIME_OUT)) + .header("User-Agent", Holder.USER_AGENT); + headers.forEach(requestBuilder::header); response = Holder.HTTP_CLIENT.send(requestBuilder.build(), BODY_HANDLER); @@ -506,6 +508,7 @@ public abstract class FetchTask extends Task { /// Ensure that [#HTTP_CLIENT] is initialized after ProxyManager has been initialized. private static final class Holder { private static final HttpClient HTTP_CLIENT; + private static final String USER_AGENT = System.getProperty("http.agent", "HMCL"); static { boolean useHttp2 = !"false".equalsIgnoreCase(System.getProperty("hmcl.http2"));