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 380e0d451..27a68b56b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FetchTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FetchTask.java @@ -212,7 +212,7 @@ public abstract class FetchTask extends Task { do { HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(currentURI) .timeout(Duration.ofMillis(NetworkUtils.TIME_OUT)) - .header("User-Agent", Holder.USER_AGENT); + .header("User-Agent", NetworkUtils.USER_AGENT); headers.forEach(requestBuilder::header); response = Holder.HTTP_CLIENT.send(requestBuilder.build(), BODY_HANDLER); @@ -518,7 +518,6 @@ 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 { if (!initialized) { diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java index 689f67564..7ff75a68f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java @@ -40,6 +40,8 @@ import static org.jackhuang.hmcl.util.logging.Logger.LOG; * @author huangyuhui */ public final class NetworkUtils { + public static final String USER_AGENT = System.getProperty("http.agent", "HMCL"); + public static final String PARAMETER_SEPARATOR = "&"; public static final String NAME_VALUE_SEPARATOR = "="; public static final int TIME_OUT = 8000; @@ -168,6 +170,7 @@ public final class NetworkUtils { connection.setReadTimeout(TIME_OUT); if (connection instanceof HttpURLConnection httpConnection) { httpConnection.setRequestProperty("Accept-Language", Locale.getDefault().toLanguageTag()); + httpConnection.setRequestProperty("User-Agent", USER_AGENT); httpConnection.setInstanceFollowRedirects(false); } return connection;