修复 FetchTask 未设置 User-Agent 的问题 (#4850)
This commit is contained in:
@@ -210,8 +210,10 @@ public abstract class FetchTask<T> extends Task<T> {
|
|||||||
headers.putAll(repository.injectConnection(uri));
|
headers.putAll(repository.injectConnection(uri));
|
||||||
|
|
||||||
do {
|
do {
|
||||||
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(currentURI);
|
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(currentURI)
|
||||||
requestBuilder.timeout(Duration.ofMillis(NetworkUtils.TIME_OUT));
|
.timeout(Duration.ofMillis(NetworkUtils.TIME_OUT))
|
||||||
|
.header("User-Agent", Holder.USER_AGENT);
|
||||||
|
|
||||||
headers.forEach(requestBuilder::header);
|
headers.forEach(requestBuilder::header);
|
||||||
response = Holder.HTTP_CLIENT.send(requestBuilder.build(), BODY_HANDLER);
|
response = Holder.HTTP_CLIENT.send(requestBuilder.build(), BODY_HANDLER);
|
||||||
|
|
||||||
@@ -506,6 +508,7 @@ public abstract class FetchTask<T> extends Task<T> {
|
|||||||
/// Ensure that [#HTTP_CLIENT] is initialized after ProxyManager has been initialized.
|
/// Ensure that [#HTTP_CLIENT] is initialized after ProxyManager has been initialized.
|
||||||
private static final class Holder {
|
private static final class Holder {
|
||||||
private static final HttpClient HTTP_CLIENT;
|
private static final HttpClient HTTP_CLIENT;
|
||||||
|
private static final String USER_AGENT = System.getProperty("http.agent", "HMCL");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
boolean useHttp2 = !"false".equalsIgnoreCase(System.getProperty("hmcl.http2"));
|
boolean useHttp2 = !"false".equalsIgnoreCase(System.getProperty("hmcl.http2"));
|
||||||
|
|||||||
Reference in New Issue
Block a user