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]]]]] )
$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. |
Erfolg: | Handle zur Verbindungssession. |
Fehler: | 0 und setzt das @error Flag auf ungleich null. |
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.
_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
Suche nach InternetConnect in der MSDN Bibliothek.
#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
;
#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
;
#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