_FTP_Connect schägt fehl

  • Hallo Com,

    bei diesem kleinen Skript:

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>

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

    $server = 'ftp://servername.net/public_ftp/'
    $username = "AutoBert"
    $pass ="4711"
    $FTPFile = "/FTP_TreeViewShowDirs2.au3"
    $ULFile = @ScriptDir & "\FTP_TreeViewShowDirs2.au3"

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

    $Open = _FTP_Open('MyFTP Control')
    $bOpen = @error
    If Not $bOpen Then
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    $bCon = @error
    If Not $bCon Then
    If _FTP_FilePut($Conn, $FTPFile, $ULFile) Then
    MsgBox(0, "Upload", "erfolgreich")
    $Ftpc = _FTP_Close($Open)
    Else
    MsgBox(0, "Upload", "fehlgeschlagen")
    ConsoleWrite("Upload: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "Connect", "fehlgeschalagen")
    ConsoleWrite("Connect: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "OPen", "fehlgeschalagen")
    ConsoleWrite("Open " & $bOpen & " " & @extended & @CRLF)
    EndIf

    [/autoit]

    bekomme ich immer die MsgBox Connect fehlgeschlagen, bei mir sind natürlich die Zugangsdaten richtig. Mit FileZilla komme ich auf Blume 's Server. Auch den passiven Modus habe ich schon getetestet,


    mfg autoBert

    4 Mal editiert, zuletzt von autoBert (1. März 2011 um 11:43)

  • Habe schon mal was ähnliches gebastelt :)

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>

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

    Opt("MustDeclareVars", 1)

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

    Local $nMsg, $hGui, $hFtpOpen, $cFile, $cDurchsuchen, $cUpload, $sReturnPath, $Percentage, $cFortschritt, $hFtpCon, $sUploadFile, $sRemotePath, $aLocalPath
    Local Const $sServerName = "DEINFTPSERVER" ;FTP Server z.B. ftp.xyz.de
    Local Const $sServerUsername = "DEINBENUTZERNAME" ;FTP Benutzername
    Local Const $sServerPassword = "DEINFTPPASSWORT" ;FTP Passwort
    Local Const $iMode = 0 ;Active = 1 Passive = 0
    Local Const $sFTPPath = "" ;Falls die Datei in einen unterordner geschrieben werden soll, kann dieser hier angegeben werden z.B. /unterordner1/unterordner2/

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

    $hGui = GUICreate("FTP Upload", 320, 95, 192, 124)
    $cFile = GUICtrlCreateInput("", 8, 8, 217, 21)
    $cDurchsuchen = GUICtrlCreateButton("Durchsuchen", 232, 6, 75, 25)
    $cUpload = GUICtrlCreateButton("Upload", 8, 64, 75, 25)
    $cFortschritt = GUICtrlCreateProgress(8, 32, 297, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    Case $cDurchsuchen
    $sReturnPath = FileOpenDialog("Durchsuchen", @UserProfileDir, "Alle Dateien (*.*)")
    If $sReturnPath <> "" Then GUICtrlSetData($cFile, $sReturnPath)
    Case $cUpload
    $sUploadFile = GUICtrlRead($cFile)
    If FileExists($sUploadFile) Then
    $aLocalPath = StringSplit($sUploadFile, "\")
    $hFtpOpen = _FTP_Open("Dateiupload" & Random(10, 1000, 1));eröffnet eine neue FTP Session
    $hFtpCon = _FTP_Connect($hFtpOpen, $sServerName, $sServerUsername, $sServerPassword,$iMode);Verbindung zum FTP wird hergestellt
    If @error Then
    MsgBox(16, "Error", "Verbindung zum FTP fehlgeschlagen")
    Else
    _FTP_ProgressUpload($hFtpCon, $sUploadFile, $sFTPPath & $aLocalPath[$aLocalPath[0]], "_ProgressRefresh") ;läd die Datei hoch und führt die Funktion _ProgressRefresh aus
    If @error Then
    MsgBox(16, "Error", "Upload fehlgeschlagen")
    Else
    MsgBox(64, "Success", "Upload erfolgreich durchgeführt")
    EndIf
    EndIf
    _FTP_Close($hFtpOpen);FTP Session wird geschlossen
    Else
    MsgBox(16, "Error", "Datei konnte nicht gefunden werden")
    EndIf
    EndSwitch
    WEnd
    Func _ProgressRefresh($Percentage)
    GUICtrlSetData($cFortschritt, $Percentage) ;Setzt den Fortschrittsbalken auf X Prozent ($Percentage wird von _FTP_ProgressUpload übergeben)
    Return 1 ;führt den Upload fort
    EndFunc ;==>_ProgressRefresh

    [/autoit]

    Aber hier nochmal dein Script verbessert ;o

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>

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

    $server = 'ftp://dominik-p.net/public_ftp/'
    $username = "AutoBert"
    $pass ="4711"
    $FTPFile = "FTP_TreeViewShowDirs2.au3"
    $ULFile = @ScriptDir & "\FTP_TreeViewShowDirs2.au3"

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

    $Open = _FTP_Open('MyFTP Control')
    $bOpen = @error
    If Not $bOpen Then
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    $bCon = @error
    If Not $bCon Then
    If _FTP_FilePut($Conn, $ULFile, $FTPFile) Then ;du hast Uploadfile und Ftp file vertauscht :)
    MsgBox(0, "Upload", "erfolgreich")
    $Ftpc = _FTP_Close($Open)
    Else
    MsgBox(0, "Upload", "fehlgeschlagen")
    ConsoleWrite("Upload: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "Connect", "fehlgeschalagen")
    ConsoleWrite("Connect: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "OPen", "fehlgeschalagen")
    ConsoleWrite("Open " & $bOpen & " " & @extended & @CRLF)
    EndIf

    [/autoit]

    21 is only half the truth.

  • Hallo Mahagon,

    leider auch mit deinem Skript kein Erfolg aktiv und passiv, ich habe danach

    Code
    /public_ftp/

    aus dem Namen heraushgenommen siehe FileZilla:

    Code
    Status:	Connecting to dominik-p.net ...
    Status:	Connected with dominik-p.net. Waiting for welcome message...
    Response:	220 FTP on dd12712.kasserver.com ready
    Command:	USER f004c8cf
    Response:	331 Password required for f004c8cf
    Command:	PASS ****************
    Response:	230 User f004c8cf logged in

    auch diese Version weder aktiv noch passiv eine Verbindung möglich, gibt es bei FTP auch einen Useragenten denn man setzen kann/muss ähnlich HttpSetUserAgent ?

    mfg autoBert

  • Mahagon & i2c, danke für den Hinweis der vertauschten Parameter

    misterspeed: genau das wars nur den Servernamen (ohne Protokoll und Pfad) gesetzt und ich konnte connecten, danach wieder Pfad aus $ULFile entfernt (da ich automatisch in meinem Bereich lande) und ich konnte uploaden. Jetzt kann die Testerei losgehen, keine Angst Blume ich hab INET-Zugang über Web'n'Walk (Edge, Downloadgeschwindigkeiten je nachdem zwischen 4 KB/s und max 30 KB/s) werde allein schon daher nicht allzuviel Traffic erzeugen.

    danke an alle besonders natürlich an Blume,

    mfg autoBert

  • Hallo com,

    leider muss ich dieses Thema noch einmal öffnen und zwar habe ich mich jetzt doch entschieden einen öffentlichen Webspace bei bplaced.net zu nehmen. Hatte zuerst bei kilu.de einen genommen, da lief das Skript auch einwandfrei, aber mir gefallen dort die AGB's nicht zwecks Weitergabe der Daten, dafür würde ich gerne im Nachhinein meine Zustimmung entziehen, aber dann sperrt Kilu warscheins meinen Account. Deshalb habe ich mir jetzt einen bei bplaced genommen, aber da funktioniert das Skript noch nicht. Momentaner Stand:

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>

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

    $server = 'user.bplaced.net'
    $username = "user"
    $pass ="user0815"
    #cs KILU.DE funktioniert
    $server = 'www7.subdomain.com'
    $username = "user4711"
    $pass ="user0815"
    #ce
    $FTPFile = "/FTPTestfiles//_FTP_FileGet2.au3"
    $ULFile = @ScriptDir & "\_FTP_FileGet2.au3"
    $bModus = 0

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

    $Open = _FTP_Open('MyFTP Control')
    $bOpen = @error
    If Not $bOpen Then
    $Conn = _FTP_Connect($Open, $server, $username, $pass,$bModus)
    $bCon = @error
    If Not $bCon Then
    If _FTP_FilePut($Conn, $ULFile, $FTPFile) Then ;du hast Uploadfile und Ftp file vertauscht :)
    MsgBox(0, "Upload", "erfolgreich")
    $Ftpc = _FTP_Close($Open)
    Else
    MsgBox(0, "Upload", "fehlgeschlagen")
    ConsoleWrite("Upload: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "Connect", "fehlgeschalagen")
    ConsoleWrite("Connect: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "OPen", "fehlgeschalagen")
    ConsoleWrite("Open " & $bOpen & " " & @extended & @CRLF)
    EndIf

    [/autoit]

    Meine Frage daher ist bei bplaced irgendetwas besonderes zu beachten? Mit FileZilla komme ich mit meinen echten Zugangsdaten aber ach auf bblaced.net

    Spoiler anzeigen

    mfg autoBert

  • Response: 257 "/" is your current location

    $FTPFile = "/FTPTestfiles//_FTP_FileGet2.au3" <- würde sagen da ist ein Backslash zu viel :)

    21 is only half the truth.

  • Hallo Mahagon,

    das Problem ist schon beim Connecten das mit dem // habe ich korrigiert und das Problem besteht immer logischerweise immer noch. Sorry dass ich das im Text nicht noch einmal ausdrücklich erwähnt habe,

    mfg autoBert

  • Hm Authentifizierung klappt ja bei dir so wie das aussieht.
    Versuch das mal.
    Vielleicht hat er ein Problem damit in den Ordner zu wechseln o.ä.

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <FTPEx.au3>

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

    $server = 'user.bplaced.net'
    $username = "user"
    $pass ="user0815"
    #cs KILU.DE funktioniert
    $server = 'www7.subdomain.com'
    $username = "user4711"
    $pass ="user0815"
    #ce
    $FTPFile = "_FTP_FileGet2.au3"
    $ULFile = @ScriptDir & "\_FTP_FileGet2.au3"
    $bModus = 0

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

    $Open = _FTP_Open('MyFTP Control')
    $bOpen = @error
    If Not $bOpen Then
    $Conn = _FTP_Connect($Open, $server, $username, $pass,$bModus)
    $bCon = @error
    If Not $bCon Then
    _FTP_DirSetCurrent($Conn,"/FTPTestfiles/")
    If @error ConsoleWrite(@error & @CRLF)
    If _FTP_FilePut($Conn, $ULFile, $FTPFile) Then
    MsgBox(0, "Upload", "erfolgreich")
    $Ftpc = _FTP_Close($Open)
    Else
    MsgBox(0, "Upload", "fehlgeschlagen")
    ConsoleWrite("Upload: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "Connect", "fehlgeschalagen")
    ConsoleWrite("Connect: " & $bCon & " " & @extended & @CRLF)
    EndIf
    Else
    MsgBox(0, "OPen", "fehlgeschalagen")
    ConsoleWrite("Open " & $bOpen & " " & @extended & @CRLF)
    EndIf

    [/autoit]

    21 is only half the truth.

  • Hallo mahagon,

    getestet wie erwartet aber immer noch, das Problem wird hier:

    [autoit]

    $Conn = _FTP_Connect($Open, $server, $username, $pass,$bModus)
    $bCon = @error ;@error wird zwishengespeichert

    [/autoit]
    Zitat

    Hm Authentifizierung klappt ja bei dir so wie das aussieht.

    ja aber nur über FileZilla nicht mit dem AutooIt-Skript.

    Das seltsame ist auch kilu.de weigert sich jetzt muss mal firewall checken ob autoit blockiert wird,

    Edit: Nein, auch mit ausgeschalteter Firewall geht jetzt bei beiden nichts mehr,

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (1. März 2011 um 10:19)

  • Ich habe meine bplaced-Zugansdaten eingetragen und dann komme ich bis "Upload - fehlgeschlagen". Das ist aber klar, da $ULFile bei mir nicht existiert.

  • @progandy, danke. Das Problem mit bplaced und auch kilu hat sich nach Rechnerneustart, war mal kurz ausser Haus von selbst erledigt, genauso wie es zumindest bei kilu.de von alleine gekommen ist. Das seltsame ist nur ich hatte mit FileZilla direkt nach dem Connect fehlgeschlagen getestet und es hat geklappt, ka warum da heute morgen Schwierigkeiten waren.

    [OT]mich würde die Bedeutung von MVP interessieren[/OT]

    mfg autoBert

  • Dann ist ja alles gut. Bei Windows fragt man besser nicht nach dem warum :D


    [OT]Das ist der Rang aus dem englischen Forum. Ich hatte das mal zu Spaß in meinen Avatar gemacht und bisher keine Lust gehabt, ihn wieder auszutauschen.[OT]

  • Hallo progandy,

    [ot]das dies deinem Rang im englischen Forum entspricht, wusste ich schon. Aber für welchen Begriff stehen diese 3 Buchstaben? [/OT]

    mfg autoBert

  • Ich schließe den OT jetzt ab: Steht wohl für Most Valuable Poster oder in die Richtung. Entspricht wohl etwa dem Poweruserrang hier.