Datei von Server downloaden

  • Hey, also ich möchte gerne die test.dat Datei von meinem Server herunterladen. Naklar kann ich das auch über das Webinterface, doch würde ich da gerne Neuigkeiten reinschreiben, und ein Programm schreiben, was jeder, der mit meinem Server zu tun hat (Freunde,...) einfach quasie eine Art Newsletter haben.

    So, nun ist der erste Schritt diese Datei vom Server zu laden. Vorab, es ist ein FTP Server.

    Also habe ich mich mit folgendem versucht:

    [autoit]


    InetGet("ftp://sysadmin:basswort@ftp.surgator.myetrayz.net/Dateien/test.dat", @DesktopDir & "\test.dat")

    [/autoit]


    Doch leider bekomme ich keine Datei auf meinem Desktop...
    was habe ich falsch gemacht, oder habe ich einen einfachen Denkfehler ?

    lg Tim

  • Läuft der Server überhaupt? Bei mir gibt es einen Timeout und keine Passwortabfrage wenn ich die URL per Filezilla aufrufe.

  • [autoit]


    InetGet("ftp://sysadmin:basswort@surgator.myetrayz.net/Dateien/test.dat", @DesktopDir & "\test.dat")

    [/autoit]
  • Das hatte ich irgendwo mal so gesehen...
    Leider geht es immer noch nicht. Wenn ich im Browser ftp://surgator.myetrayz.net/Dateien/test.dat und dann sysadmin und mein Passwort, dann bekomme ich genau die Datei. Also am URL kann es nicht mehr liegen, der stimmt.
    Ich verstehe das nicht, ist doch alles so wie es sein soll...
    lg Tim


    @ Shadow Wie soll denn bei FireFox ein Login Korrekt kommen, wenn du das Passwort garnicht weißt ? Klar das kein Download kommt ;)

  • Hm bei FF kommt 430 Login korrekt, aber kein Download!


    Das ist wohl eher "530 Login incorrect" ;)

    AutoTim: Hast du vielleicht ein @ oder andere Sonderzeichen im Passwort? Die könnten eventuell Probleme verursachen, auf jeden Fall das @.

  • Zitat

    Subdomain ftp angegeben

    ?

    das ist keine Subdomain sondern der Alias, sowie www. ein Server oder ein Cluster sein kann.
    Der sollte dann beim lokalen DNS Server auflösbar sein.

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • ?
    das ist keine Subdomain sondern der Alias, sowie www. ein Server oder ein Cluster sein kann.


    Es ist immer eine Subdomain. Ob diese nun als Alias verwendet wird oder auf einen anderen Dienst / Server zeigt oder eine eigene Zone definiert ist dafür erst einmal irrelevant ;)
    Der Nameserver muss für jede Subdomain einen eigenen Record beinhalten, per Catch-All lassen sich jedoch auch alle Subdomains auf einen Server schalten, sodass dieser sie dann intern weiterverteilen kann. Die hier genannte ftp-Subdomain wurde aber nicht eingerichtet, auch kein Catch-all.

  • Leider bekomme ich nichts zurück... was ist noch falsch ?

    #include <FTPEx.au3>

    $server = 'surgator.myetrayz.net'
    $username = 'sysadmin'
    $pass = 'passwort'

    $Open = _FTP_Open('Mein FTP-Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

    $aFile = _FTP_FileGet($conn, "Test", @DesktopDir & "\Dateien\test.txt")

    _FTP_Close($Open)

    Lg Tim

  • [autoit]

    $aFile = _FTP_FileGet($conn, "Test", @DesktopDir & "\Dateien\test.txt")

    [/autoit]

    1. Dateiendung vergessen ;)
    2. Liegt es im Hauptverzeichnis des Servers?
    3. Wenn nicht, dann einfach

    [autoit]

    $aFile = _FTP_FileGet($conn, "pfad/zur/datei/Test.endung", @DesktopDir & "\Dateien\Test.endung")

    [/autoit]
  • Ah, das ist dämlich ;) Also es geht leider immer ncoh nicht. Wenn ich aber über den Browser gehe (ftp://surgator.myetrayz.net/Dateien/Test.txt) komme ich macht er mir direkt die Datei auf. Also das muss stimmen. Woran könnte es noch liegen ?

    [autoit]

    #include <FTPEx.au3>

    [/autoit][autoit][/autoit][autoit]

    $server = 'surgator.myetrayz.net'
    $username = 'sysadmin'
    $pass = 'passwort'

    [/autoit][autoit][/autoit][autoit]

    $Open = _FTP_Open('Mein FTP-Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

    [/autoit][autoit][/autoit][autoit]

    $aFile = _FTP_FileGet($conn, "/Dateien/Test.txt", @DesktopDir & "/test.txt")

    [/autoit][autoit][/autoit][autoit]

    _FTP_Close($Open)

    [/autoit]

    lg Tim


    Edit: Ich habe es mal mit einer Subdomain versucht, aber ftp. und ftp:// bringt leider auch nichts ;(
    Edit2: Ich habe es mal so versucht:

    [autoit]

    ;InetGet("ftp://sysadmin:brÜ[email='ck3n4u3R@surgator.myetrayz.net'][/email]/Dateien/test.dat", @DesktopDir & "\test.dat")

    [/autoit][autoit][/autoit][autoit]

    #include <FTPEx.au3>

    [/autoit][autoit][/autoit][autoit]

    $server = 'surgator.myetrayz.net'
    $username = 'sysadmin'
    $pass = 'passwort'

    [/autoit][autoit][/autoit][autoit]

    $Open = _FTP_Open('Mein FTP-Control')
    If @error then msgbox(0,"","Error1")
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    If @error then msgbox(0,"","Error2")
    $aFile = _FTP_FileGet($conn, "/Dateien/Test.txt", @DesktopDir & "/test.txt")

    [/autoit][autoit][/autoit][autoit]

    _FTP_Close($Open)

    [/autoit][autoit][/autoit][autoit][/autoit]


    Ich bekomme den Error2 !


    Edit3: Wichtig zu wissen, ist eventuell, das es ein Homeserver ist. Der is aber online WW. Und der den FTP Port 21 hat. Und die IP 192.168.2.100 . HAbe es mla so versucht:

    [autoit]

    #include <FTPEx.au3>

    [/autoit][autoit][/autoit][autoit]

    $Open = _FTP_Open('Mein FTP-Control')
    If @error then msgbox(0,"","Error1")
    $Conn = _FTP_Connect($Open, "192.168.2.100", "sysadmin", "passwort","","21")
    If @error then msgbox(0,"","Error2")
    $aFile = _FTP_FileGet($conn, "/Dateien/Test.txt", @DesktopDir & "/test.txt")

    [/autoit][autoit][/autoit][autoit]

    _FTP_Close($Open)

    [/autoit]

    Da kommt auch wieder der Error2.

    lg Tim

  • ... Vielen Dank für das Passwort. Bitte entferne es aus deinem Beitrag!

    Das ist ein Problem mit dem Umlaut. Anscheinend wurde die UTF-8-Kodierung als Passwort verwendet. Um diese in AutoIt zu senden, musst du den String umwandeln:

    [autoit]

    $pass = BinaryToString(StringToBinary('DEINÖÄÜPasswort', 4), 1)

    [/autoit]


    Weiterhin musst du die Groß/Kleinschreibung auch bei Dateinamen beachten und Pfade können nur relativ zum aktuellen Verzeichnis angegeben werden und nicht absolut:

    [autoit]

    _FTP_DirSetCurrent($conn, "/") ; sollte am Anfang der FTP-Verbindung nicht nötig sein, da / das Hauptverzeichnis ist
    $aFile = _FTP_FileGet($conn, "Dateien/test.txt", @DesktopDir & "/test.txt")

    [/autoit][autoit][/autoit][autoit]

    ; oder
    _FTP_DirSetCurrent($conn, "/Dateien")
    $aFile = _FTP_FileGet($conn, "test.txt", @DesktopDir & "/test.txt")

    [/autoit]

    Oder du ändest das Passwort und verwendest nur Zeichen aus dem ASCII-Zeichensatz
    http://en.wikipedia.org/wiki/File:ASCII_Code_Chart.svg

    Einmal editiert, zuletzt von progandy (28. Mai 2011 um 15:12)

  • Sicher das Dateien nicht im htdocs/html/bzw deinem Verzeichnis liegt, in dem auch die Datei liegt?
    Also per URL würds so heißen:
    autoit.de/forum

    und auf dem ftpserver würds so aussehen:
    autoit.de/htdocs/forum