„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was ist die bevorzugte Java-Methode für HTTP-URL-Ping?

Was ist die bevorzugte Java-Methode für HTTP-URL-Ping?

Veröffentlicht am 08.11.2024
Durchsuche:124

 What\'s the Preferred Java Method for HTTP URL Ping?

Bevorzugte Java-Methode für HTTP-URL-Ping

Um die Verfügbarkeit einer HTTP-URL festzustellen, ist es wichtig, einen zuverlässigen Ansatz zu verwenden, der genaue Ergebnisse liefert und effiziente Ergebnisse. Hier sind in Java verfügbare Optionen:

Verwendung von java.net.URLConnection:

Der von Ihnen erwähnte Ansatz, die Verwendung von java.net.URLConnection, ist eine praktikable Option. Damit können Sie eine Verbindung herstellen und prüfen, ob auf die URL zugegriffen werden kann.

try {
    URLConnection connection = new URL(url).openConnection();
    connection.connect();
    LOG.info("Service "   url   " available, yeah!");
    available = true;
} catch (Exception e) {
    LOG.info("Service "   url   " unavailable, oh no!", e);
    available = false;
}

Diese Methode simuliert effektiv eine GET-Anfrage an die URL und überprüft deren Verfügbarkeit.

Zusätzliche Überlegungen:

  • Abschluss die Verbindung: Die Klasse java.net.URLConnection erfordert kein explizites Schließen. Es wird implizit behandelt.
  • Senden einer HEAD-Anfrage: Um eine HEAD-Anfrage anstelle eines GET zu senden, wandeln Sie die erhaltene URLConnection in HttpURLConnection um und verwenden Sie setRequestMethod("HEAD"), um die Anfragemethode anzugeben . Beachten Sie jedoch, dass einige Webserver möglicherweise einen HTTP 405-Fehler (nicht zulässig) für eine HEAD-Anfrage zurückgeben.
  • Verfügbarkeit von Serverinhalten testen: Die Überprüfung der Serververfügbarkeit allein reicht möglicherweise nicht aus. Um festzustellen, ob der Inhalt der URL verfügbar ist, überprüfen Sie, ob der HTTP-Antwortcode 200 ist.
  • Verwenden von java.net.Socket: Eine andere Option ist die Verwendung von java.net.Socket. Diese Methode stellt eine direkte Verbindung zur IP-Adresse und zum Port des Servers her und umgeht dabei die HTTP-Schicht.

Alternative Ansätze:

  • java.net .InetAddress#isReachable(): Diese Methode kann die Host-Verfügbarkeit prüfen, testet jedoch nicht explizit Port 80, was zu falsch-negativen Ergebnissen führen kann.

Beispiel-Dienstprogrammmethode:

public static boolean pingURL(String url, int timeout) {
    url = url.replaceFirst("^https", "http"); // Avoid SSL exceptions

    try {
        HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
        connection.setConnectTimeout(timeout);
        connection.setReadTimeout(timeout);
        connection.setRequestMethod("HEAD");
        int responseCode = connection.getResponseCode();
        return (200 

Diese Methode verwendet eine HEAD-Anfrage mit einem angegebenen Timeout, um die Verfügbarkeit der URL zu überprüfen. Es gibt „true“ zurück, wenn der Antwortcode im Bereich 200–399 liegt, was auf eine erfolgreiche Verbindung hinweist.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3