Ladezeit einer Seite mit HttpURLConnection und Bildern

Twaldigas

Mitglied
Guten Tag Java-Community,

ich möchte mit Java auf eine Internetseite zugreifen, deren URL ich vorher angebe, und diese soll vollständig geladen werden. Das heißt: inklusive Bilder. Das Ziel des Ganzen ist es, am Ende eine Ausgabe zu bekomme, welche mir anzeigt wie viele Sekunden/Millisekunden es gedauert hat, die Seite zu laden.

Hier mein aktueller Quelltext
Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class CheckLoadTime {
	
  public static void main(String[] argv) throws Exception {

	HttpURLConnection con = (HttpURLConnection) new URL("http://test.de").openConnection();

	long startTime = System.currentTimeMillis();

	BufferedReader in = new BufferedReader (new InputStreamReader(con.getInputStream()));

	String inputLine;

	while ((inputLine = in.readLine()) != null) {
	
		System.out.println(inputLine);
		
	}
	
	in.close();
    
    long stopTime = System.currentTimeMillis();
    
    long loadTime = stopTime -  startTime;

    System.out.println(loadTime+" ms" );
    
  }

}

Anhand der Ladezeit, welche mir bisher ausgeben wird weiß ich, dass er nur den HTML-Code heraus ließt. Und da die Bilder, auf einer von mir angegebenen Seite mehrere MB groß sind, kann sie auch nicht innerhalb von 535 ms geladen werden.

Dass ich dafür JMeter nehmen könnte, weiß ich. Ich würde es aber gerne mit Java machen. Ich würde auch sehr ungern den Quelltext, welchen ich mir ausgeben lasse, nach dem img-Tag durchsuchen, um dann die Adressen der Bilder daraus heraus zu lesen, um diese dann zu öffnen. Außer es geht nicht anders, aber das kann ich mir irgendwie nicht vorstellen.

Ich hoffe, dass Ihr mir da vielleicht weiter helfen könnt.

Gruß Twaldigas
 
HTTP ist im grunde nicht so schlau. Du lädst einfach ein Dokument. Das besteht aus Text, fertig!
Das Protokoll hat keine Ahnung davon, ob da in dem Text noch Referenzen auf Bilder oder so sind...
Der Browser geht auch her und analysiert den Quelltext und lädt die Bilder nach. Gibt diverse Plugins zb für Firefox um die Ladezeiten von Seiten zu analisieren... da sieht man sehr schön, dass für das Laden einer Internetseite mehrere Requests notwendig sind...

Du wirst also nicht daran vorbeikommen, die Bilder raus zu suchen...
 
Guten Tag ARadauer,

wirklich schade, dass es nicht anders geht. Ich habe es jetzt auch so gemacht, dass ich die Pfade der Bilder herauslese und einzeln lade. Nicht die beste Lösung, aber es geht. Ansonsten werde ich wohl auch auf JMeter zurück greifen.

Trotzdem vielen Dank für deine schnelle Antwort und Hilfe. Eine schöne Woche wünsche ich dir noch.

Gruß Twaldigas
 

Zurück
Oben