Download von Webseite

mavinatic

Bekanntes Mitglied
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
 
Zuletzt bearbeitet von einem Moderator:
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.
 
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.

Java:
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();
	}
}
 

Neue Themen


Zurück
Oben