Zum Inhalt springen
Der Guide für ein smartes Leben.
VG Wort Pixel
Dateitransfer

FTP-Client im Eigenbau

Für schnelle Up- und Downloads ist ein FTP-Programm nach wie vor erste Wahl. Obwohl das File Transfer Protokoll (FTP) ungefähr 35 Jahre alt ist, erfreut es sich immer noch großer Beliebtheit. Mit einem selbst geschriebenen FTP-Programm gestalten Sie die Funktionen und die Oberfläche nach Ihren persönlichen Wünschen.

Autor: Peter Schnoor • 18.4.2011 • ca. 2:25 Min

FTP-Client im Eigenbau
FTP-Client im Eigenbau
© PC Magazin
Inhalt
  1. FTP-Client im Eigenbau
  2. Globalen Variablen

Das FTP-Projekt soll mit seinen Funktionen alle wesentlichen Aufgaben erfüllen. Bei Bedarf bauen Sie weitere Funktionen ein, was mit Hilfe des Programmcodes auf der Heft-DVD keine größeren Schwierigkeiten darstellen sollte. Also folgen die Funktionen, die das FTP-Projekt erfüllen soll: Fe...

Das FTP-Projekt soll mit seinen Funktionen alle wesentlichen Aufgaben erfüllen. Bei Bedarf bauen Sie weitere Funktionen ein, was mit Hilfe des Programmcodes auf der Heft-DVD keine größeren Schwierigkeiten darstellen sollte. Also folgen die Funktionen, die das FTP-Projekt erfüllen soll:

  • Festlegung der FTP-Verbindung mit den Eingabemöglichkeiten zur Auswahl des FTP-Servernamens, des FTP-Usernamens und des Passwortes. Wenn diese Felder nicht belegt werden, sollen Defaultwerte übernommen werden.
  • Verbinden, Trennen und Programmende mit Hilfe einer Befehlsleiste. Nach erfolgreicher Verbindung sollen die Dateien aus dem Dateipfad des Servers angezeigt werden.
  • Die Dateien auf dem Client auswählen und zum Upload auf den FTP-Server markieren.
  • Auswahl, ob vom Client eine Binärdatei oder eine Textdatei auf den FTP-Server übertragen wird.
  • Upload der ausgewählten Dateien.
  • Die Möglichkeit, ausgewählte Dateien auf dem FTP-Server zu löschen.
  • Dateien vom Server auf ein auswählbares Verzeichnis des Clients downloaden.
ftp-client
Schaltzentrale: Bevor Sie programmieren, kümmern Sie sich um das Design.
© PC Magazin

Design-Entwurf

Vor der Programmierung entwerfen Sie das Design. Dazu brauchen Sie kein zusätzliches Programm, weil Sie das Formular mit VisualBasic.net einfach entwerfen. Mit Hilfe der Toolbox zaubern Sie alle benötigten Steuerelemente auf das Formular. Zunächst erhält das Formular ein Befehlsmenü, das Sie mit dem Steuerelement MenuStrip verwirklichen. Das Menü erhält drei Befehle: Verbinden, Trennen und Programmende.

Danach teilen Sie das Formular mit dem Steuerelement GroupBox in mehrere Gruppen. Sie brauchen die Gruppen Dateiauswahl Client, Dateiauswahl Server, Aktion und Einstellungen FTP. In die Gruppen Dateiauswahl Client und Dateiauswahl Server kommt jeweils ein Steuerelement des Typs CheckedListBox.

Hier stellen Sie später die ausgewählten Dateien dar, die Sie per Mausklick in den jeweiligen Auswahlkästen für den Dateitransfer aktivieren. Die Schaltfläche Dateien auswählen ("Button") in der Gruppe Dateiauswahl Client erhält den Code, um Dateien auf dem Client auszuwählen. Dabei wählen Sie mit OpenFileDialog Verzeichnisse und Dateien aus.

Diese fügen Sie als Items der CheckedListBox hinzu. Die Gruppe Dateiauswahl Server erhält die beiden zusätzlichen Buttons: Ausgewählte Dateien löschen und Ausgewählte Dateien Downloaden. Drei TextBoxen bestimmen die Vorgaben für die FTP-Einstellung: FTP-Servername, FTP-Username, Passwort.

Die Schaltfläche Einstellungen übernehmen gibt die Daten an das Programm weiter und baut die Verbindung zum FTP-Server auf. Die Gruppierung Aktion versehen Sie mit dem Steuerelement ListBox. Hier werden alle Aktionen angezeigt, die das Programm ausführt. Jetzt hat das Projekt mit From1.vb schon seine äußere Form angenommen, womit Sie das Weitere programmieren.

ftp-client
Der FTP-Client in Aktion: Zugriff auf die Serverdateien.
© PC Magazin

Netzwerkprogrammierung

Weil es keine eigentliche FTP-Klasse gibt, setzen Sie die Klassen FtpWebRequest und FtpWebResponse ein. Diese beiden Klassen regeln den Up-und Download der Dateien von einem FTP-Server. Das Hochladen einer Datei realisieren Sie mit Hilfe von FtpWebRequest und der Create-Methode recht einfach: "UploadFTP = FtpWebRequerst.Create(New URI(FTPServer & Datei))".

Die Kennung URI steht für Uniform Resource Identifier und stellt die eindeutige Adresse einer Internetadresse, in diesem Fall des FTP-Servers, dar. Da die meisten FTP-Server eine Authentifizierung des Anwenders verlangen, brauchen Sie noch die NetworkCredential-Klasse. Diese Basisklasse stellt die Anmeldeinformationen in kennwortbasierten Authentifizierungsschemas bereit. Der Standardwert beim Dateitransfer ist auf Binary festgelegt.

Für den Transfer von Textdateien ändern Sie die Eigenschaft UseBinary von true in false. Diese Funktion realisieren Sie mit dem Auswahlfeld Binärdateien. Der Dateiinhalt wird in einen Stream geschrieben, der GetRequestStream-Methode. Anforderungen beschreibt die GetResponse-Methode. Den Download vom FTP-Server leistet die GetResponseStram-Methode, die den Inhalt aus dem angeforderten Objekt ausliest (Sub btnUpload_Click).