Funktionreferenz


_FTP_Open

Beschreibung anzeigen in

Öffnet eine FTP Sitzung

#include <FTPEx.au3>
_FTP_Open ( $sAgent [, $iAccessType = $INTERNET_OPEN_TYPE_DIRECT [, $sProxyName = '' [, $sProxyBypass = '' [, $iFlags = 0]]]] )

Parameter

$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.

Rückgabewert

Erfolg: Gibt einen Handle zurück, der in _FTP_Connect() benutzt werden kann.
Fehler: 0 und setzt das @error Flag auf ungleich null.

Verwandte Funktionen

_FTP_Close, _FTP_Connect, _FTP_SetStatusCallback

Siehe auch

Suche nach InternetOpen in der MSDN Bibliothek.

Beispiel

Beispiel 1

#include <FTPEx.au3>

Local $hOpen = _FTP_Open('MyFTP Control')
; ...
Local $iFtpc = _FTP_Close($hOpen)

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