FTP Upload über Proxy klemmt

  • Hallo zusammen,

    hab das Problem, dass ich keine Daten über einen Proxy an einen FTP-Server schicken kann:

    [autoit]


    #include

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

    ; Test auf funpic-ftp
    $server = 'ftp.xxx.da.funpic.de'
    $username = 'xxx'
    $pass = 'xxx'
    $port ='21'

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

    $dll = DllOpen(@SystemDir & 'wininet.dll')

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

    FtpSetProxy(2,"xxxx.net:8080")
    If @error Then MsgBox(64,"","Proxy nicht gesetzt")
    $Open = _FTPOpen('MyFTP',0)
    If @error Then MsgBox(64,'Verbindung', 'ftpopen fehlgeschlagen')

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

    $Conn = _FTPConnect($Open, $server ,$username ,$pass, $port )
    If @error Then MsgBox(64,'Verbindung', 'ftpConnect fehlgeschlagen')
    $Ftpp = _FtpPutFile($Conn,@ScriptDir & '\test.txt', 'test.txt')
    If @error Then MsgBox(64,'Verbindung', 'ftpPutFile fehlgeschlagen')
    $Ftpc = _FTPClose($Open)
    If @error Then MsgBox(64,'Verbindung', 'ftpclose fehlgeschlagen')

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

    DllClose($dll)

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

    Ich erhalte ab dem FTPConnect Fehlermeldungen.

    Hat jemand Erfahrung mit Upload via Proxy?

    //EDIT:
    Die Verbinung und der Upload funktionieren mit Programmen wie Total Commander problemlos!

    Einmal editiert, zuletzt von Davor (27. März 2008 um 14:22)

  • Hallo,
    ich bin mir nicht sicher aber nach dem was ich gefunden habe muss der Proxy in _FTPOpen eingetragen werden.
    Wobei in der ftp.au3 die ich benutze der 2te Parameter mit 1 angegeben wurde.
    $Open = _FTPOpen('MyFTP', 1, xxxx.net:8080)

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ;
    ; Function Name:_FTPOpen()
    ; Description: Opens an FTP session.
    ; Parameter(s): $s_Agent - Random name. ( like "myftp" )
    ; $l_AccessType - I dont got a clue what this does.
    ; $s_ProxyName - ProxyName.
    ; $s_ProxyBypass- ProxyByPasses's.
    ; $l_Flags - Special flags.
    ; Requirement(s): DllCall, wininet.dll
    ; Return Value(s): On Success - Returns an indentifier.
    ; On Failure - 0 and sets @ERROR
    ; Author(s): Wouter van Kesteren.
    ;
    ;===============================================================================

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

    Func _FTPOpen($s_Agent, $l_AccessType = 1, $s_ProxyName = '', $s_ProxyBypass = '', $l_Flags = 0)
    $dll = DllOpen("wininet.dll")
    Local $ai_InternetOpen = DllCall('wininet.dll', 'long', 'InternetOpen', 'str', $s_Agent, 'long', $l_AccessType, 'str', $s_ProxyName, 'str', $s_ProxyBypass, 'long', $l_Flags)
    If @error OR $ai_InternetOpen[0] = 0 Then
    SetError(-1)
    Return 0
    EndIf

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

    Return $ai_InternetOpen[0]

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

    EndFunc ;==> _FTPOpen()

    [/autoit]

    Viele Grüsse
    HeiWoMa