Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 11:47

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Visual Basic 2010] FTP-Tutorial + Anwendungsbeispiel / Kleines FTP-Chat

Discussion on [Visual Basic 2010] FTP-Tutorial + Anwendungsbeispiel / Kleines FTP-Chat within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
maxasoft's Avatar
 
elite*gold: 2049
The Black Market: 350/0/0
Join Date: May 2012
Posts: 4,593
Received Thanks: 441
[Visual Basic 2010] FTP-Tutorial + Anwendungsbeispiel / Kleines FTP-Chat

In letzter Zeit wurde ich häufig gefragt, wie man FTP mit Visual Basic 2010 Express benutzt, deshalb dachte ich mir, mach ich doch mal ein Tutorial, in dem ich euch zeige, wie ihr einen FTP-Server in eure Programme einbinden könnt, um beispielsweise Dateien oder Strings auf den Server zu laden oder zu Downloaden. Wenn ihr erstmal das Grundprinzip verstanden habt ist es sehr einfach, und ihr könnt Sachen wie Lizenzsysteme usw. machen.


Ich werde folgende Unterpunkte behandeln:

-was ist FTP?
-einen FTP-Server einrichten
-Dateien und Strings downloaden
-Dateien und Strings uploaden
-Datei von FTP-Server umbenennen
-Datei von FTP-Server löschen
-FTP anwenden/Beispielprogramm
-Vor- und Nachteile


1. Was ist FTP?

File Transfer Protocol (Deutsch: Dateiübertragungsprotokoll) ist eine Art Netzwerkprotokoll, welches zur Dateiübertragung verwendet werden kann.

2. einen FTP-Server einrichten

Um überhaupt einen FTP-Server in unseren Programmen zu verwenden, müssen wir uns erstmal einen besorgen. Einen webspace bekommt man kostenlos im Internet, man kann aber auch einen kaufen, aber für den Anfang reicht ein kostenloser.

Den Webspace nehmen wir jetzt mal beispielsweise von . Wenn ihr schon einen habt könnt ihr den natürlich auch verwenden, vorrausgesetzt ihr wisst den Benutzername und das Passwort, was ich aber noch erklären werde.
Als erstes registriert ihr euch und loggt euch ein.

Dann klickt ihr links oben in der Navigationsleiste auf "Neues Projekt" :



Dann müsst ihr die Projektart auswählen. Für FTP-Zugriff brauchen wir einen Webspace:



Nun müssen wir auf der darrauffolgenden Seite eine Art Formular ausfüllen:



Dann müssen wir noch einen Domainnamen angeben. Dieser ist allerdings nur für Webseiten interessant:



Dann wird unser Projekt eingerichtet. Wie beschrieben kann das bis zu 15 min dauern:



Wenn wir jetzt auf unser angelegtes Projekt klicken und runterscrollen, können wir dort unsere Zugangsdaten für den FTP-Server sehen:



Das Passwort für den Server ist unser Accountpasswort.
Um jetzt zu sehen, welche Dateien sich auf unserem FTP-Server befinden, brauchen wir noch einen Clienten. Der beste den ich kenne ist .

Wenn ihr es installiert habt, könnt ihr euch nun mit eurem FTP-Server verbinden.

Die Zugangsdaten kennen wir ja jetzt.

Das Textfeld "Port" lasst ihr einfach leer.
Wenn ihr alles richtig gemacht habt seid ihr nun mit eurem FTP-Server verbunden.
jetzt könnt ihr die Dateien und Ordner betrachten, welche sich in eurem Webspace befinden.
Normalerweise ist euer Webspace leer, bis auf den Ordner "www".
Dieser Ordner ist für Webseiten gedacht.

Um Strings hochzuladen brauchen wir aber erst eine .txt Datei.
Normalerweise könnt ihr einfach eine auf dem Desktop erstellen und sie in eure Webspace ziehen,
doch wir machen es mit Visual Basic!!!

3. Dateien und Strings uploaden

Für die verbindung zwischen dem FTP-Server und eurem Programm braucht ihr einen Webclient. Dafür legen wir eine Variable an:

Dim client As New Net.WebClient

Mithilfe des Clients können wir uns nun mit dem FTP-Server verbinden:

Client.Credentials = New Net.NetworkCredential("Username", "Passwort")

Logischerweise sind die Logindaten die selben wie die, die wir in Filezilla verwendet haben.

Nun sind wir verbunden und können Daten zwischen dem Server und userem Computer austauschen. Da wir später mal Strings hochladen wollen,
werden wir mal eine .txt-Datei hochladen.

Wichtig: Die .txt-Datei muss vorher auf unserem PC gespeichert sein!
Also erstellen wir uns eine neue unter C:/Users/Public

Die Datei nennen wir einfach mal Text.txt.

Wichtig: Ihr könnt die .txt-datei überall speichern, um Fehler zu vermeiden habe ich aber den Ordner Public verwendet, da dieser Ordner "Öffentlich"
geändert werden kann, was später im Programm wichtig ist!

Nun laden wir das ganze auf unseren Server hoch:

My.Computer.Network.UploadFile("C:\Users\Public\Te xt.txt", "ftp://www12.subdomain.com/Text.txt", "Benutzername", "Passwort")


Als erstes geben wir den Dateipfad an, damit das Programm weiss, welche Datei es hochladen soll.
Dann geben wir unseren FTP-Server an und den zukünftigen Dateiname auf dem FTP-Server.

Wichtig: www12.subdomain.com ist NUR EIN BEISPIEL! Natürlich müsst ihr wieder eure eigene nehmen, wie ihr sie bei Filezilla angegeben habt.

Am Ende wieder die Benutzerdaten.

Nun debuggen wir das ganze und wecheseln zu Filezilla. Dann verbinden wir uns erneut und siehe da; eine Datei mit dem Namen Text.txt.

Diese Datei ist jetzt erstmal leer. Doch das wollen wir ändern!

Natürlich mit Visual Basic ^^

Als erstes erstellen wir wieder eine Client-Variable und die Verbindung:

Dim client As New Net.Webclient
client.Credentials = New Net.NetworkCredential("Username","Passwort")

Und nun laden wir unseren ersten String in die Datei Text.txt auf unserem FTP-Server:

client.UploadString("ftp://www12.subdomain.com/Text.txt", "Es hat geklappt!")

Dann deguggen wir das ganze und wechseln wieder zu Filezilla.
Nun macht ihr einen Doppelklick auf die Datei Text.txt. Jetzt könnt ihr den text lesen, den wir oben verwendet haben (:

Aber das ganze geht natürlich auch umgekehrt:

4. Dateien und Strings Downloaden

Wie immer müssen wir uns logischer weise wieder verbinden. Ich denke mal ihr solltet den Code dafür schon kennen, ich werde ihn allerdings der
Vollständigkeit halber dazuschreiben:

Dim client As New Net.Webclient
client.Credentials = New Net.NetworkCredential("Username","Passwort")

Wir fangen mit dem Downloaden von Dateien an. Allerdings müssen wir den Speicherort der Datei angeben, und wie beim hochladen nehmen wir wieder C:/Users/Public
Weil dort aber schon eine Datei mit dem namen Text.txt vorhanden ist, und wir beim Downloaden ja die selbe dort speichern wollen, löschen wir die alte, leere Datei:

If My.Computer.FileSystem.FileExists("C:\Users\Public \Text.txt") = True Then
Kill("C:\Users\Public\Text.txt")
End If

Nun ist Platz für die neue Datei, welche wir uns mit folgendem Code vom FTP-Server ziehn:

My.Computer.Network.DownloadFile("ftp://www12.subdomain.com/Text.txt, "C:\Users\Public\Text.txt", "Username", "Passwort")

Was ist passiert?

Als erstes geben wir die Datei an,welche wir runterladen wollen.
Dann geben wir einen Speicherort an und wieder die Logindaten.

Genauer genommen würde dieser Code auch ohne den Client und den Login funktionieren, da wir aber noch Strings downloaden wollen, hab ich ihn mal dazu gemacht, das Selbe
gilt auch für das Uploaden.

So, wenn wir jetzt den Ordner C:/Users/Public öffnen und die Datei Text.txt öffnen, können wir sehen, dass die Datei nun nicht mehr leer ist, sondern der Text,
welchen wir hochgeladen haben, vorhanden ist.

Nun wollen wir die Datei aber nicht erst Downloaden um uns den Inhalt anzusehn, wir wollen nur den Text. Für diesen Fall kann man mit folgendem Code ganz einfach den
String downloaden:

'Client erstellen
Dim client As New Net.Webclient
'Verbinden
client.Credentials = New Net.NetworkCredential("Username","Passwort")
'String downloaden

Richtextbox1.text = client.DownloadString("ftp://www12.subdomain.com/Text.txt")

Nun wird in der Richtextbox der Text aus der Datei Text.txt, welche sich auf unserem Server befindet, angezeigt.

5. Datei von FTP-Server umbenennen

Das umbenennen funktioniert über FTPWebrequest, und nicht über den client:

Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create("Link zum FTP-Ordner")
request.Method = Net.WebRequestMethods.Ftp.ListDirectory
request.Credentials = New Net.NetworkCredential("Benutzername", "Passwort")
Dim response As Net.FtpWebResponse = request.GetResponse()

6. Dateien von FTP-Server löschen

Das löschen funktioniert ebenfalls über Request.
Der Code zum Löschen von Dateien ist folgender:


Dim request As Net.FtpWebRequest = Net.FtpWebRequest.Create("Link zur datei")
request.Method = Net.WebRequestMethods.Ftp.DeleteFile
request.Credentials = New Net.NetworkCredential("Benutzername", "Passwort")
Dim response As Net.FtpWebResponse = request.GetResponse()


8. FTP anwenden/Beispielprogramm

Als Beispielprogramm nehmen wir jetzt mal ein Chat. FTP für ein Chat zu verwenden ist zwar nicht empfehlenswert, aber so versteht man wenigstens das Prinzip von FTP gut (:
Wir brauchen natürlich noch eine neue .txt-Datei auf unserem Server.
Die ziehen wir uns jetzt einfach mal so per Filezilla rein und nennen sie Chat.txt.
Dann erstellen wir uns ein neues Projekt in Visual Basic und gestalten mal die Form.

Die Steuerelemente die wir verwenden sind:

2 Richtextboxen
1 Button
1 Timer mit dem Intervall 5000 und Enabled = True
1 Label
1 Textbox

So sieht das dann aus:



Ist zwar keine designerische Höchstleistung aber darum geht es nicht (:

Dann machen wir einen Doppelklick auf den "Senden" -Button und schreiben da als Code rein:

Dim alter_text As String
Dim client As New Net.WebClient
client.Credentials = New Net.NetworkCredential("Username", "Passwort")
'alten Text downloaden
alter_text = client.DownloadString("FTP://www19.Subdomain.com/Chat.txt")
'Text hochladen
client.UploadString("ftp://www19.subdomain.com/Chat.txt", alter_text & TextBox1.Text & ":" & RichTextBox2.Text & vbCrLf)

Was ist passiert?

Als erstes erstellen wir natürlich eine Verbindung.
Dann laden wir den alten String runter.
Und zum Schluss laden wir diesen wieder hoch, allerdings fügen wir den Inhalt der Textbox1, welche den Namen beinhaltet, hinzu, und die eigentliche Nachricht aus der Richtextbox2

Nun wollen wir aber noch den Chatverlauf lesen können. Dafür müssen wir den Inhalt der Textdatei in die Richtextbox1 einfügen. Und hier verwenden wir den Timer. Also einen Doppelklick auf den Timer und dann diesen Code einfügen:

Dim client as new net.WebClient
client.Credentials = New Net.NetworkCredential ("Username","Passwort")
Richtextbox1.text = client.DownloadString("FTP://www19.Subdomain.com/Chat.txt")

Was ist passiert?

als erstes natürlich wie immer die Verbindung und dann wird der Text aus der .txt-Datei in unsere Richtextbox eingefügt.

Das wars eingentlich schon mit dem Coden, jetzt haben wir ein ganz simples Chat. Normalerweise ist FTP nicht gerade das Beste für ein Chat, da ist TCP schon besser geeignet, aber zur Verdeutlichung ist es optimal.

9.. Vor- und Nachteile

Zum Schluss wollte ich euch noch mit den Vor- und Nachteilen vertraut machen.

Vorteile:

- einfache Benutzung
- Einen Webspace gibt es kostenlos im Internet

Nachteile:
-Jeder, der das Programm in die Finger bekommt, kann die Zugangsdaten zum Server auslesen


So, das war dann mal mein erstes Tutorial auf e*pvpers und hat auch gedauert es zu schreiben, ich hoffe ich konnte euch helfen und euch mit FTP vertraut machen.

Wenn ihr noch Fragen habt, dann scheißt auf die Leute die sagen, das ist doch einfach, das kann man sich ja denken usw. und fragt einfach
maxasoft is offline  
Thanks
6 Users
Old 08/29/2012, 16:25   #2
 
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 7
Im grundegenommen ist der Datenaustauscht mit FTP, ich nenne es mal, o.k Allerdings muss jedem klar sein, dass die Daten mit FTP unter gar keinen Umständen sicher sind.
Bei einem Chat ist der Nachteil, dass jeweils nur ein Client auf die "Chattdatei" zugreifen kann.
Informier dich mal über TCP/IP
Liebe Grüße
LaMiy is offline  
Old 08/29/2012, 20:09   #3
 
maxasoft's Avatar
 
elite*gold: 2049
The Black Market: 350/0/0
Join Date: May 2012
Posts: 4,593
Received Thanks: 441
Quote:
Originally Posted by LaMiy View Post
Im grundegenommen ist der Datenaustauscht mit FTP, ich nenne es mal, o.k Allerdings muss jedem klar sein, dass die Daten mit FTP unter gar keinen Umständen sicher sind.
Bei einem Chat ist der Nachteil, dass jeweils nur ein Client auf die "Chattdatei" zugreifen kann.
Informier dich mal über TCP/IP
Liebe Grüße
Oben hab ichs geschrieben das TCP/IP sehr viel besser für ein Chat ist als FTP aber es geht nicht um das Chat sondern um das Prinzip von FTP!
maxasoft is offline  
Old 08/29/2012, 21:08   #4
 
elite*gold: 0
Join Date: Jun 2012
Posts: 27
Received Thanks: 7
Hab's nicht ganz durchgelesen und wollte das nur nochmal klarstellen Sonst gutes TUT
LaMiy is offline  
Thanks
1 User
Old 09/04/2012, 10:52   #5
 
maxasoft's Avatar
 
elite*gold: 2049
The Black Market: 350/0/0
Join Date: May 2012
Posts: 4,593
Received Thanks: 441
Quote:
Originally Posted by LaMiy View Post
Hab's nicht ganz durchgelesen und wollte das nur nochmal klarstellen Sonst gutes TUT
Dafür gibt es eig den Thanks Button aber egal danke
maxasoft is offline  
Old 09/04/2012, 20:47   #6
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
du kannst auch deine exe obfuscaten dann kann man sie nichtmehr so leicht decompilen um die logindaten auszulesen
'Heaven. is offline  
Old 09/04/2012, 23:00   #7
 
maxasoft's Avatar
 
elite*gold: 2049
The Black Market: 350/0/0
Join Date: May 2012
Posts: 4,593
Received Thanks: 441
Quote:
Originally Posted by 'Heaven. View Post
du kannst auch deine exe obfuscaten dann kann man sie nichtmehr so leicht decompilen um die logindaten auszulesen
Ich hab schon von sowas gehört aber ich werds mal testen
maxasoft is offline  
Old 09/05/2012, 12:22   #8
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by maxasoft View Post
Oben hab ichs geschrieben das TCP/IP sehr viel besser für ein Chat ist als FTP
und trotzdem machst du ein ftp chat tutorial? oke.
Kraizy​ is offline  
Old 09/05/2012, 12:47   #9
 
maxasoft's Avatar
 
elite*gold: 2049
The Black Market: 350/0/0
Join Date: May 2012
Posts: 4,593
Received Thanks: 441
Quote:
Originally Posted by xKraizy View Post
und trotzdem machst du ein ftp chat tutorial? oke.
Chat Tutorial?

Hast dus denn überhaupt gelesen?

Das Chat dient nur zur Verdeutlichung ^^
maxasoft is offline  
Old 09/05/2012, 14:28   #10
 
kissein's Avatar
 
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
Ich habs nur überflogen, aber als Kritik würde ich aufführen das Codeblöcke bitte auch in dem entsprechenden [CODE]-Tag zu versehen sonst wirds ab der mitte ziemlich unübersichtlich im Tut
kissein is offline  
Old 09/09/2012, 20:17   #11
 
BigJk's Avatar
 
elite*gold: 681
Join Date: Aug 2010
Posts: 521
Received Thanks: 106
Quote:
Originally Posted by 'Heaven. View Post
du kannst auch deine exe obfuscaten dann kann man sie nichtmehr so leicht decompilen um die logindaten auszulesen
Bringt gar nix. Einfach Wireshark (oder ähnliches) benutzen und FTP Port mitlesen... so kann man schnell und einfach den Login und das Password raus bekommen.
BigJk is offline  
Old 10/14/2012, 17:49   #12
 
elite*gold: 213
Join Date: Aug 2012
Posts: 1,595
Received Thanks: 388
nice =)
Princilein is offline  
Thanks
1 User
Old 11/14/2012, 15:29   #13
 
elite*gold: 0
Join Date: Aug 2012
Posts: 20
Received Thanks: 0
werde mal anschauen wie meins wird
TheUltratester123 is offline  
Reply

Tags
ftp, visual basic 2010


Similar Threads Similar Threads
Chat mit Visual Basic 2010 erstellen?
08/15/2011 - .NET Languages - 9 Replies
Liebe Coder, wie schon der Titel sagt, geht es um einen Chat den ich gerne via Visual Basic 2010 erstellen möchte, jedoch finde ich recht wenig dazu. Danke im Voraus und bitte keine Skurrile Antworten.
[Request] Visual Basic 2010 Tutorial
07/19/2011 - Tutorials - 4 Replies
Hi E*pvpers, da ich weiß das hier ein paar Genies sind hab ich mich gefragt ob jemand ein Visual Basic Tutorial für Anfänger (die noch keinen Kontakt mit Programmiersprachen hatten) schreiben könnte. Ich hab schon alles durchsucht aber bin nur auf Copy und Paste sachen gestoßen, wo kaum etwas erklärt wurde. Könnte jemand ein solches Tutorial schreiben wo wircklich alles erklärt wird und das nur für den Einstieg dienen soll. Falls dies die falsche Sektion ist bitte ich den Moderator diesen...
Visual Basic Tutorial
04/06/2011 - .NET Languages - 11 Replies
Guten Tag... Ich wollte euch mal ein paar Grundlagen von VB zeigen Ich würde mich freuen wenn ihr mir ein paar Thanks gebt da ich auch alles ausführlich erklähre... 1.Der aufbau von Visual Basic: Visual Basic ist ein Programm von Windows,man hat Folgende möglichkeiten: Windows-Forms-Anwendung(Am meisten benutzt,und auch am leichtesten) WPF-Anwendung Konsolen-Anwendung Klassenbibliothek
Visual Basic Chat
01/28/2011 - .NET Languages - 7 Replies
hallo ich möchte nen Chat erstellen sowas ähnliches wie diesen hier... http://www.elitepvpers.com/forum/epvp-coders-relea ses/807392-vb2010-chat-chatserver.html kann mir jemand ein Tut geben oder mir zeigen wie man sowas scriptet??? Mit einem Serverstarter den ich dan so auf einen Root mache oder so und das man dann mit einer IP drauf connectet die ich vorher angebe...?? Bitte hilft mir^^
Visual Basic - Kleines Problem/Frage
04/04/2010 - .NET Languages - 9 Replies
Hallo, ich war/bin gerade dabei bei VB 2008 eine Form zu designen. Wenn ich dieser Form jetzt ein Bild zuweise und dann ein Label hinzufüge, hat dieser Text einen Hintergrund und verdeckt das Bild. http://img52.imageshack.us/img52/4020/labelr.jpg Ich möchte jetzt, dass nur die Schrift erscheint. Ist das möglich? Danke im Vorraus:D



All times are GMT +1. The time now is 11:49.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.