Wie kann man den HTTP-Responsecode einer Internetverbindung ermitteln?

HTTP-Verbindungen lassen sich mit Java-eigenen Mitteln des Packages java.net erzeugen und verwalten.

Die Klassen java.net.HttpURLConnection und deren Elternklasse URLConnection stellen Methoden bereit, um eine HTTP-Verbindung zu erzeugen und zu verwalten. Während URLConnection für die zugrunde liegende Verbindung verantwortlich ist, stellt HttpURLConnectio die HTTP-spezifischen Routinen zur Verfügung.

Die Verbindung wird über die Methode openConnection() der Klasse URL erzeugt. Hierzu muss mittels der Webadresse zunächst ein gültiges URL-Objekt erzeugt werden. Die hierbei möglichen Syntaxfehler werden durch eine Exception innerhalb eines try-catch-Blocks abgefangen.
Die im Beispiel in main() erzeugte URL wird direkt als Parameter an die Methode getHttpStatus() übergeben [11].

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class HttpStatusCode {

    public static void main(String[] args) {
        String httpAddress = "https://javabeginners.de/Netzwerk/index.php";
        try {
            getHttpStatus(new URL(httpAddress));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }

    private static void getHttpStatus(URL url) {
        try {
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.connect();
            int code = con.getResponseCode();
            System.out.println(code + " " + con.getResponseMessage()); // 200 OK
        } catch (IOException e) {
            e.printStackTrace();
        } 
    }
}

Innerhalb von getHttpStatus() wird zunächst ein URLConnection-Objekt erzeugt [19], über das durch connect() eine Verbindung zum entfernten Ziel aufgebaut wird [20]. In der Folge wird das selbe Objekt verwendet, um erst den Response-Code mittels getResponseCode() [21] und anschließend die zugehörige Textnachricht durch getResponseMessage() erfasst werden. Der Verbindungsaufbau muss dabei wiederum gegen das Auftreten von IO-Fehlern abgesichert werden.

Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.