Funktionreferenz


_FTP_Connect

Beschreibung anzeigen in

Verbindet zu einem FTP Server

#include <FTPEx.au3>
_FTP_Connect ( $hInternetSession, $sServerName, $sUsername, $sPassword [, $iPassive = 0 [, $iServerPort = 0 [, $iService = $INTERNET_SERVICE_FTP [, $iFlags = $INTERNET_FLAG_DEFAULT [, $fuContext = 0]]]]] )

Parameter

$hInternetSession Rückgabewert von _FTP_Open()
$sServerName Server Name/Ip.
$sUsername Benutzername.
$sPassword Passwort.
$iPassive [optional] Passiver Modus. Standard ist 0. Siehe Bemerkungen.
$iServerPort [optional] Server Port ( 0 ist der Standardwert (21) )
$iService [optional] Kann eine der folgenden Konstanten haben:
    $INTERNET_SERVICE_FTP (1) - FTP Dienst (Standardwert)
    $INTERNET_SERVICE_GOPHER (2) - Gopher Dienst. Verfügbar nur unter Windows XP, Windows Server 2003 R2 oder früher.
    $INTERNET_SERVICE_HTTP (3) - HTTP Dienst.
$iFlags [optional] Besondere Flags.
    $INTERNET_FLAG_DEFAULT (0)
    $INTERNET_FLAG_PASSIVE (0x08000000)
    $INTERNET_FLAG_TRANSFER_ASCII (1)
    $INTERNET_FLAG_TRANSFER_BINARY (2)
$fuContext [optional] Eine Variable die einen anwendungsdefinierten Wert enthält, der diese Suche mit allen Anwendungsdaten verbindet.
Dies wird nur benutzt, wenn das Programm bereits die Funktion _FTP_SetStatusCallback() aufgerufen hat, um eine Status-Callback Funktion einzurichten.

Rückgabewert

Erfolg: Handle zur Verbindungssession.
Fehler: 0 und setzt das @error Flag auf ungleich null.

Bemerkungen

Das zurückgegebene Handle muss mit _FTP_Close() geschlossen werden.
Wenn $iPassive auf 1 gesetzt ist, wird das spezielle Flag $INTERNET_FLAG_PASSIVE automatisch mit dem $iFlag-Parameter des Benutzers kombiniert.

Verwandte Funktionen

_FTP_Close, _FTP_Command, _FTP_DirCreate, _FTP_DirDelete, _FTP_DirGetCurrent, _FTP_DirPutContents, _FTP_DirSetCurrent, _FTP_FileDelete, _FTP_FileGet, _FTP_FileGetSize, _FTP_FilePut, _FTP_FileRename, _FTP_ListToArray, _FTP_ListToArray2D, _FTP_ListToArrayEx, _FTP_Open, _FTP_SetStatusCallback

Siehe auch

Suche nach InternetConnect in der MSDN Bibliothek.

Beispiel

Beispiel 1

#include <FTPEx.au3>
#include <MsgBoxConstants.au3>

_Example()

Func _Example()
;~  Local $sServer = 'ftp.cs.brown.edu' ; Brown Computer Science
    Local $sServer = 'speedtest.tele2.net' ; Tele2 Speedtest Service
    Local $sUsername = ''
    Local $sPass = ''

    Local $hOpen = _FTP_Open('MyFTP Control')
    Local $hConn = _FTP_Connect($hOpen, $sServer, $sUsername, $sPass)
    If @error Then
        MsgBox($MB_SYSTEMMODAL, '_FTP_Connect', 'ERROR=' & @error)
    Else
        Local $iErr = @error, $sFTP_Message
        _FTP_GetLastResponseInfo($iErr, $sFTP_Message)
        ConsoleWrite('$iErr=' & $iErr & '   $sFTP_Message:' & @CRLF & $sFTP_Message & @CRLF)
        ; macht etwas ...
    EndIf
    _FTP_Close($hConn)
    _FTP_Close($hOpen)
EndFunc   ;==>_Example

Beispiel 2

;
#include <FTPEx.au3>
#include <Misc.au3>
#include <Constants.au3>

_example1()

#cs
    Beispiel mit externem Progressfenster zur Demonstration der Fortschrittsanzeige mit einer Benutzerfunktion
#ce
Func _example1()
    Local $s_ServerName = 'ftp.csx.cam.ac.uk' ;das ist ein real existierender Server
    Local $s_Username = ''
    Local $s_Password = ''
    Local $i_Passive = 0 ;aktive Verbindung nutzen wenn bei anderen Server Probleme dann auch mit 1 für passive Verbung testen
    Local $l_InternetSession, $l_FTPSession
    Local $errOpen, $errFTP

    If FileExists(@TempDir & "\tmp.tmp") Then FileDelete(@TempDir & "\tmp.tmp") ;Nur um sicherzustellen dass die Datei nicht existiert

    $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
    $errOpen = @error
    If Not @error Then
        $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
        $errFTP = @error
        If Not @error Then
            ProgressOn("Download", "Status:", "coded autoBert 2011")
            _FTP_ProgressDownload($l_FTPSession, @ScriptDir & "\tmp.tmp", "README", "_UpdateProgress")
            If @error Then ConsoleWrite("Fehler bei _FTP_ProgressDownload: " & @error)
            ProgressOff()
        Else
            MsgBox($MB_OK, "Connect", "fehlgeschlagen")
            ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
        EndIf
    Else
        MsgBox($MB_OK, "Open", "fehlgeschlagen")
        ConsoleWrite("Open " & " " & $errOpen & @CRLF)
    EndIf
    _FTP_Close($l_InternetSession)
EndFunc   ;==>_example1

Func _UpdateProgress($Prozent)
    ProgressSet($Prozent, $Prozent & "%")
    If _IsPressed("77") Then Return 0 ; Abbruch bei F8
    Return 1 ; bei 1 fortsetzen
EndFunc   ;==>_UpdateProgress

Beispiel 3

;
#include <FTPEx.au3>
#include <Misc.au3>
#include <Constants.au3>

_example2()

#cs
    Beispiel mit eingebauter Fortschrittsanzeige von _FTP_ProgressDownload
#ce
Func _example2()
    Local $s_ServerName = 'ftp.csx.cam.ac.uk' ;das ist ein real existierender Server
    Local $s_Username = ''
    Local $s_Password = ''
    Local $i_Passive = 0 ;aktive Verbindung nutzen wenn bei anderen Server Probleme dann auch mit 1 für passive Verbung testen
    Local $l_InternetSession, $l_FTPSession
    Local $errOpen, $errFTP

    If FileExists(@TempDir & "\tmp.tmp") Then FileDelete(@TempDir & "\tmp.tmp") ;Nur um sicherzustellen dass die Datei nicht existiert

    $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
    $errOpen = @error
    If Not @error Then
        $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
        $errFTP = @error
        If Not @error Then
            _FTP_ProgressDownload($l_FTPSession, @ScriptDir & "\tmp.tmp", "README")
            If @error Then ConsoleWrite("Fehler bei _FTP_ProgressDownload: " & @error)
        Else
            MsgBox($MB_OK, "Connect", "fehlgeschlagen")
            ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
        EndIf
    Else
        MsgBox($MB_OK, "Open", "fehlgeschlagen")
        ConsoleWrite("Open " & " " & $errOpen & @CRLF)
    EndIf
    _FTP_Close($l_InternetSession)
EndFunc   ;==>_example2