In Java können mehrere Methoden verwendet werden, um die Verfügbarkeit einer HTTP-URL zu ermitteln. Der einfachste Ansatz besteht darin, die Klasse java.net.URLConnection zu verwenden:
<code class="java">URL url = new URL(urlString); URLConnection connection = url.openConnection(); connection.connect();</code>
Wenn die Verbindung erfolgreich hergestellt wurde, ist die URL wahrscheinlich verfügbar. Diese Methode führt jedoch standardmäßig eine GET-Anfrage aus.
Eine weitere Option zum Pingen einer URL ist die Verwendung von java.net.Socket:
<code class="java">try (Socket socket = new Socket()) { socket.connect(new InetSocketAddress(hostname, port), timeout); return true; } catch (IOException e) { return false; }</code>
Mit dieser Methode können Sie einen bestimmten Port explizit testen und erhalten einen genaueren Hinweis auf die Host-Verfügbarkeit.
Um eine HEAD-Anfrage anstelle einer GET-Anfrage zu senden, können Sie die umwandeln URLConnection zu HttpURLConnection und legen Sie die Anforderungsmethode fest:
<code class="java">HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("HEAD");</code>
HEAD-Anfragen sind normalerweise leichter und werden möglicherweise für URL-Verfügbarkeitsprüfungen bevorzugt.
Zur Bestimmung der B. die tatsächliche Verfügbarkeit der URL, reicht es nicht aus, die Erreichbarkeit des Servers zu testen. Sie sollten auch den HTTP-Antwortcode überprüfen. Ein Antwortcode von 200 zeigt eine erfolgreiche Anfrage an.
<code class="java">int responseCode = connection.getResponseCode(); if (responseCode != 200) { // Not OK. }</code>
Es ist wichtig, geeignete Zeitüberschreitungen für Ihre Ping-Vorgänge festzulegen:
<code class="java">connection.setConnectTimeout(timeout); connection.setReadTimeout(timeout);</code>
Dadurch wird sichergestellt, dass die Der Vorgang läuft ab, wenn die Verbindung nicht hergestellt werden kann oder die Antwort nicht innerhalb des angegebenen Zeitrahmens empfangen wird.
In Kombination dieser Techniken finden Sie hier eine Dienstprogrammmethode, die eine umfassende URL-Verfügbarkeitsprüfung durchführt :
<code class="java">public static boolean pingURL(String url, int timeout) { try { HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setConnectTimeout(timeout); connection.setReadTimeout(timeout); connection.setRequestMethod("HEAD"); int responseCode = connection.getResponseCode(); return (200 <= responseCode && responseCode <= 399); } catch (IOException exception) { return false; } }</code>
Das obige ist der detaillierte Inhalt vonWie kann die URL-Verfügbarkeit in Java effizient überwacht werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!