Fix #4960: 解析 Yggdrasil 服务器地址时应当遵循重定向 (#5539)

This commit is contained in:
Glavo
2026-02-15 22:11:37 +08:00
committed by GitHub
parent b37ec8dd1f
commit a0fc43ca1e

View File

@@ -59,13 +59,15 @@ public class AuthlibInjectorServer implements Observable {
try { try {
url = NetworkUtils.addHttpsIfMissing(url); url = NetworkUtils.addHttpsIfMissing(url);
HttpURLConnection conn = NetworkUtils.createHttpConnection(url); HttpURLConnection conn = NetworkUtils.createHttpConnection(url);
conn = NetworkUtils.resolveConnection(conn);
String ali = conn.getHeaderField("x-authlib-injector-api-location"); String ali = conn.getHeaderField("x-authlib-injector-api-location");
if (ali != null) { if (ali != null) {
URI absoluteAli = conn.getURL().toURI().resolve(NetworkUtils.toURI(ali)); URI absoluteAli = conn.getURL().toURI().resolve(NetworkUtils.toURI(ali));
if (!urlEqualsIgnoreSlash(url, absoluteAli.toString())) { if (!urlEqualsIgnoreSlash(url, absoluteAli.toString())) {
conn.disconnect(); conn.disconnect();
url = absoluteAli.toString(); url = absoluteAli.toString();
conn = NetworkUtils.createHttpConnection(absoluteAli); conn = NetworkUtils.resolveConnection(NetworkUtils.createHttpConnection(absoluteAli));
} }
} }