Heim >Java >javaLernprogramm >So lösen Sie die Fehlerausnahme bei der Java-Netzwerkverbindungsumleitung (RedirectFailureException)
Titel: So lösen Sie die Java-Netzwerkverbindungsumleitungsfehlerausnahme (RedirectFailureException)
Einführung:
In der Java-Netzwerkprogrammierung wird häufig die Umleitungsfunktion verwendet, dh die angegebene URL springt automatisch zu anderen URLs. Aufgrund besonderer Umstände kann es jedoch manchmal zu einer Ausnahme kommen, bei der die Netzwerkverbindungsumleitung fehlschlägt, nämlich RedirectFailureException. In diesem Artikel wird erläutert, wie diese Ausnahme behoben werden kann, und es wird Beispielcode bereitgestellt.
1. Was ist RedirectFailureException?
RedirectFailureException ist eine der Ausnahmen, auf die Java-Netzwerkverbindungsbibliotheken (wie HttpURLConnection oder HttpClient) stoßen, wenn sie eine Verbindung zum Netzwerk herstellen. Es tritt normalerweise unter den folgenden Umständen auf:
Wenn Sie auf eine RedirectFailureException stoßen, prüfen Sie zunächst, ob die umgeleitete URL legal ist. Sie können die Gültigkeit einer URL überprüfen, indem Sie die Methode isValid() der Klasse java.net.URL verwenden. Der Beispielcode lautet wie folgt:
public static boolean isValidURL(String url) { try { new URL(url).toURI(); return true; } catch (MalformedURLException | URISyntaxException e) { return false; } }
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setInstanceFoll owRedirects(false); connection.setMaxRedirects(10); // 设置重定向次数限制为10次
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); String redirectUrl = connection.getHeaderField("Location"); URL newUrl = new URL(redirectUrl); HttpURLConnection newConnection = (HttpURLConnection) newUrl.openConnection();
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(5000); // 连接超时设置为5秒 connection.setReadTimeout(5000); // 读取超时设置为5秒
Referenzen:
[ 2 ] Java SE 11 API-Spezifikation: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URL.html
Das obige ist der detaillierte Inhalt vonSo lösen Sie die Fehlerausnahme bei der Java-Netzwerkverbindungsumleitung (RedirectFailureException). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!