ホームページ >Java >&#&チュートリアル >Java ネットワーク接続エラー例外 (MaxRedirectsExceededErrorExceotion) を解決するメソッド
Java ネットワーク接続エラー例外 (MaxRedirectsExceededErrorExceotion) を解決する方法
Java をネットワーク接続に使用する場合、いくつかの例外が発生することがよくあります。そのうちの 1 つは MaxRedirectsExceededErrorExceotion です。この例外は通常、ネットワーク要求プロセス中に、アクセスされたリソースが複数回リダイレクトされ、リダイレクトの数が設定された最大制限を超えた場合に発生します。現時点では、プログラムが正常に動作するように、この例外を処理する必要があります。この記事では、この例外を解決する方法について説明し、対応するコード例を示します。
この例外を解決する方法は、ネットワーク接続オブジェクトのパラメータを変更してリダイレクトの最大数をより大きな値に設定するか、直接無制限に設定します。ネットワーク接続に HttpURLConnection クラスを使用し、そのインスタンス オブジェクトの対応するプロパティを設定することでリダイレクトの最大数を変更できます。以下はサンプル コードです。
import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; public class MaxRedirectsExceededErrorExample { public static void main(String[] args) { try { // 创建URL对象 URL url = new URL("https://example.com"); // 打开连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置最大重定向次数为10 conn.setInstanceFollowRedirects(true); conn.setFollowRedirects(true); conn.setInstanceFollowRedirects(false); conn.setAllowUserInteraction(true); conn.setConnectTimeout(5000); // 设置连接超时时间为5秒 conn.setRequestMethod("GET"); // 设置请求方法为GET // 发送请求 conn.connect(); // 获取响应状态码 int responseCode = conn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 响应正常 } else { // 响应异常 } // 关闭连接 conn.disconnect(); } catch (IOException e) { e.printStackTrace(); } } }
上記のコードでは、setInstanceFollowRedirects()
メソッドを呼び出してリダイレクトの最大数を設定します。リダイレクトの最大数を許可するには、true
に設定し、リダイレクトを無効にするには、false
に設定します。
さらに、他の関連プロパティを設定することで、ネットワーク接続の動作をさらに制御できます。たとえば、setAllowUserInteraction()
メソッドを使用してユーザーとの対話を許可したり、setConnectTimeout()
メソッドを使用して接続タイムアウトなどを設定したりできます。
リダイレクトの最大数を設定するときは、リダイレクトの無限ループに陥るのを避けるために、設定を大きくしすぎないように注意してください。実際のアプリケーションでは、特定のニーズや実際の状況に応じて合理的な設定を行うことができます。
上記の変更により、リダイレクトの最大数を超える Java ネットワーク接続エラー例外 (MaxRedirectsExceededErrorExceotion) を正常に解決できます。この記事があなたのお役に立てば幸いです。また、プログラミングが楽しくなることを願っています。
以上がJava ネットワーク接続エラー例外 (MaxRedirectsExceededErrorExceotion) を解決するメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。