# Download von Webseite



## mavinatic (23. Feb 2011)

Hallo Community,
ich habe eine Frage und zwar möchte ich über Java z.B. einen Download von Chip.de starten. Ich habe eine feste URL worauf ich zugreife. Wie schreibe ich nun das Programm dass das Tool den Download vollzieht?

Gruß 

George


----------



## Tomate_Salat (23. Feb 2011)

URL (Java 2 Platform SE v1.4.2) - openConnection


----------



## mavinatic (23. Feb 2011)

Kannst du mir ein konkretes Beispiel zeigen, ich kann damit nicht wirklich viel anfangen.


----------



## Tomate_Salat (23. Feb 2011)

habe keins da, aber die Theorie:
Über URL verbindest du dich mit der DownloadSeite. Über die Methode [c]openConnection[/c] bekommst du den InputStream und empfängst darüber die Daten. Diese schreibst du in eine Datei, bennenst diese noch richtig und dein Download sollte fertig sein.

Afaik müsste hier iwo im Forum ein alter Download-manager von mir rumfliegen, glaube den mal gepostet zu haben.


----------



## darekkay (23. Feb 2011)

Das sollte dir womöglich weiterhelfen: ich hab das geschrieben, um Film-Cover aus IMDB herunterzuladen. Url ist dein Link, und File ist die Datei, in die geschrieben werden soll.


```
package de.darekkay.imdb.main;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class CoverDownloader {

	public CoverDownloader(String url, File file) throws IOException  {
		URL server = new URL(url);
		HttpURLConnection connection = (HttpURLConnection) server.openConnection();
		connection.setRequestMethod("GET");
		connection.setDoInput(true);
		connection.setDoOutput(true);
		connection.setUseCaches(false);
		connection.addRequestProperty("Accept","image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-shockwave-flash, */*");
		connection.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 2.0.50727; MS-RTC LM 8)");
		connection.connect();
		InputStream is = connection.getInputStream();
		OutputStream os = new FileOutputStream(file);

		byte[] buffer = new byte[1024];
		int byteReaded = is.read(buffer);
		while(byteReaded != -1)
		{
			os.write(buffer,0,byteReaded);
			byteReaded = is.read(buffer);
		}

		os.close();
	}
}
```


----------

