Öffnet eine FTP Sitzung
#include <FTPEx.au3>
_FTP_Open ( $sAgent [, $iAccessType = $INTERNET_OPEN_TYPE_DIRECT [, $sProxyName = '' [, $sProxyBypass = '' [, $iFlags = 0]]]] )
$sAgent | Zufälliger Name. ( Wie "myftp" ) |
$iAccessType | [optional] Setzen, wenn ein Proxy benutzt wird: $INTERNET_OPEN_TYPE_DIRECT (1) -> Kein Proxy $INTERNET_OPEN_TYPE_PRECONFIG (0) -> Erneuert den Proxy oder konfiguriert direkt aus der Registry. $INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY (4) -> Erneuert den Proxy oder konfiguriert direkt aus der Registry und verhindert den Start des Microsoft JSkripts oder der Internet Setup (INS) Datei. $INTERNET_OPEN_TYPE_PROXY (3) -> Leitet Anfragen zum Proxy weiter. Ausgenommen wenn eine Proxy Bypass Liste angegeben wurde und der aufzulösende Name in dieser Liste enthalten ist. Dann wird kein Proxy verwendet. |
$sProxyName | [optional] Name des Proxys. |
$sProxyBypass | [optional] Proxy Bypass Liste. |
$iFlags | [optional] $INTERNET_FLAG_ASYNC (0x10000000) -> Macht nur Asynchrone Anfragen auf Handles die von dem Handle der Funktion zurückgegeben wurde. $INTERNET_FLAG_FROM_CACHE (0x01000000) -> Macht keine Netzwerk Anfragen. Alle Einträge werden vom Cache zurückgegeben. Wenn die betroffene Position nicht im Cache vorhanden ist, wird eine ähnlicher Fehler, wie ERROR_FILE_NOT_FOUND zurückgegeben. |
Erfolg: | Gibt einen Handle zurück, der in _FTP_Connect() benutzt werden kann. |
Fehler: | 0 und setzt das @error Flag auf ungleich null. |
_FTP_Close, _FTP_Connect, _FTP_SetStatusCallback
Suche nach InternetOpen in der MSDN Bibliothek.
;
#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