Wie lässt sich ein HTTP-Header von einer Web-Resource abfragen?

Als Antwort auf eine Anfrage sendet ein Webserver einen Antwortheader. Die Klasse URLConnection erlaubt es, diesen abzufragen.

Zunächst muss ein URL spezifiziert werden. Die Methode openConnection() der Klasse URL liefert ein URLConnection-Objekt, dessen Methode connect() eine Socket-Verbindung herstellt und die Header-Informationen abfragt. Sie werden durch getHeaderFields() als Key-Value-Paare einer Map aufbereitet und durch die Methode entrySet() als Set zurück gegeben. Über dies kann auf die übliche Weise iteriert werden.

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Set;
import java.util.Iterator;

public class URLVerbindung {
    
    public static void main(String[] args) {
        try {
            URL url = new URL("http://www.javabeginners.de");
            
            URLConnection con = url.openConnection();
            con.connect();
            Set s = con.getHeaderFields().entrySet();
            Iterator<Object> iter = s.iterator();
            while(iter.hasNext()){
                System.out.println(iter.next());
            }
            
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

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