FTP Datei mit einem bestimmten Namen herunterladen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    FTP Datei mit einem bestimmten Namen herunterladen

    Hallo, also ich habe einen FTP Server erstellt und dort 30 Dateien in folgenden Schema hochgeladen:
    • datei (1).dat
    • datei (2).dat
    • datei (3).dat
    • datei (4).dat
    • ...
    Nun möchte ich mit

    VB.NET-Quellcode

    1. My.Computer.Network.DownloadFile("ftp://www9.subdomain.com/" + Contains("datei"), "Speicherort", "Username", "Passwort")

    eine der Dateien herunterladen und anschließen auf dem FTP Server löschen.
    Wie geht das?

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Moin,

    1. FTP ist unsicher, verwende bitte FTPS.
    2. Für Downloads nimmt man kein FTP, sondern HTTP als Protokoll. Das machst Du hier mit der ​WebClient-Klasse, nicht dem My-Namespace, der ist böse.
    3. Das Löschen geht dann via ​FtpWebRequest-Klasse.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Sicherheit darf nie vernachlässigt werden.
    Es kann immer passieren, dass Dir dann jemand die Credentials klaut und illegale Inhalte über Deinen FTP-Server verbreitet.

    Zu dem, was Du machen willst, steht ja alles in Post #2.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Danke aber wie kann ich jetzt nur durch einen bestimmten namen die Datei herunterladen?

    Computer.Network.DownloadFile("ftp://www9.subdomain.com/" + Contains("datei"), "Speicherort", "Username", "Passwort")
    Der Contains Teil stimmt ja nicht :/

    Ich möchte das er sich eine Datei aussucht:
    datei (1).dat
    datei (2).dat
    datei (3).dat
    datei (4).dat
    ...

    M4x schrieb:

    Ich möchte das er sich eine Datei aussucht:


    Eine zufällige die datei am Anfang des Namen hat, oder was jetzt?
    Wie @Trade schon gesagt hat lädt man per HTTP runter und nicht per FTP.
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯
    Wenn ich ihn richtig verstanden habe, möchte er so eine Art OpenFileDialog für FTP.
    Google findet mit diesen Begriffen: codeproject.com/Articles/29851/OpenFileDialog-for-FTP

    KaskadekingDE schrieb:

    Wie @Trade schon gesagt hat lädt man per HTTP runter und nicht per FTP.
    Du kannst nicht zwingend davon ausgehen, dass der FTP-Server die Datei auch per HTTP zur Verfügung stellt.
    Außerdem muss er spätestens beim Löschen doch auf FTP-Methoden zurückgreifen.

    Klar könnte man einen Webserver dazwischenschalten, der diese Select-Download-Delete-Sequenz durchführt, aber das wäre ein anderes Konzept.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „petaod“ ()

    M4x schrieb:

    Das ist jetzt nichts besonders wofür man etwas sicheres bräuchte
    Mach es gleich richtig, denn beim nächsten Mal, wenn es sicher sein muss, hast Du nur Dein blödes Un-Snippet und es knallt mörderisch.
    Darum

    Trade schrieb:

    Sicherheit darf nie vernachlässigt werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    petaod schrieb:

    Außerdem muss er spätestens beim Löschen doch auf FTP-Methoden zurückgreifen.

    Downloadet man irgendwas beim löschen? Ich denke mal nicht. Außerdem ist es trotzdem unsicher denn irgendwo muss er ja die FTP-Daten angegeben haben.
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯
    Ein Server, der keine Dateien per HTTP(S) zur Verfügung stellt? Das sollte man dann schleunigst ändern.
    Solange er FTP(E)S verwendet, ist ja alles ok und damit ginge es auch, aber generell zum Downloaden gibt es HTTP(S), was glücklicherweise auf TCP basiert. Somit muss ich da nicht mehr dazu sagen. :P

    Aber FTP zu verwenden, das ist keine gute Idee.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: