PB.Ex FTP (Windows)

Anwendungen, Tools, Userlibs und anderes nützliches.
RSBasic
Admin
Beiträge: 7882
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

PB.Ex FTP (Windows)

Beitrag von RSBasic »

Hallo,

PureBasic kann weder SFTP (SSH File Transfer Protocol) noch FTPS (FTP über SSL/TLS). Mit dieser Bibliothek ist das möglich. Die Funktionen sind im selben Stil wie die FTP-Bibliothek von PureBasic aufgebaut und FTP wird ebenfalls unterstützt.

Funktionen:
  • OpenFTPEx()
    • Syntax:

      Code: Alles auswählen

      Result = OpenFTPEx(ID, Protocol, ServerName$, Port, User$, Password$, Charset, @ErrorOutput)
    • Beschreibung: Stellt eine Verbindung zum Server her.
    • Parameter:
      1. ID: Eine eindeutige Nummer für die Verbindung. #PB_Any kann verwendet werden, um die Nummer automatisch zu generieren.
      2. Protocol: Legt das Protokoll (FTP, SFTP, FTPS) für die Verbindung fest: #PBEx_FTP_Protocol_FTP, #PBEx_FTP_Protocol_SFTP, #PBEx_FTP_Protocol_FTPS_Implicit, #PBEx_FTP_Protocol_FTPS_Explicit
      3. ServerName$: Die Domain oder IP-Adresse des Servers.
      4. Port: Die Port-Nummer für die Verbindung.
      5. User$: Der Benutzername für die Anmeldung.
      6. Password$: Das Passwort für die Anmeldung.
      7. Charset: Legt den Zeichensatz fest: #PB_UTF8, #PB_Ascii, #PB_Unicode - Bei SFTP wird standardmäßig UTF-8 verwendet.
      8. @ErrorOutput: Falls ein Fehler auftrat, dann wird die Fehlermeldung in die Variable gespeichert. Diese Variable muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens. Wenn bei einem Fehler keine Fehlerbeschreibung zurückgegeben werden soll, dann kann stattdessen 0 übergeben werden.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich. Falls #PB_Any verwendet wird, dann wird die ID zurückgegeben.
    • Beispielcode:

      Code: Alles auswählen

      ;1.0.4.0
      
      EnableExplicit
      
      Global PBEx_FTP
      
      #PBEx_FTP_Version$ = "1.0.4.0"
      #PBEx_FTP_Protocol_FTP = 1
      #PBEx_FTP_Protocol_SFTP = 2
      #PBEx_FTP_Protocol_FTPS_Implicit = 3
      #PBEx_FTP_Protocol_FTPS_Explicit = 4
      
      CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
        PBEx_FTP = OpenLibrary(#PB_Any, "PB.Ex_FTP_x86.dll")
      CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64
        PBEx_FTP = OpenLibrary(#PB_Any, "PB.Ex_FTP_x64.dll")
      CompilerEndIf
      
      If PBEx_FTP
        Prototype OpenFTPEx(ID, Protocol, ServerName.p-Unicode, Port, User.p-Unicode, Password.p-Unicode, Charset, ErrorOutput)
        Global OpenFTPEx.OpenFTPEx = GetFunction(PBEx_FTP, "OpenFTPEx")
        Prototype CloseFTPEx(ID, ErrorOutput)
        Global CloseFTPEx.CloseFTPEx = GetFunction(PBEx_FTP, "CloseFTPEx")
        Prototype CheckFTPConnectionEx(ID, ErrorOutput)
        Global CheckFTPConnectionEx.CheckFTPConnectionEx = GetFunction(PBEx_FTP, "CheckFTPConnectionEx")
        Prototype IsFTPEx(ID, ErrorOutput)
        Global IsFTPEx.IsFTPEx = GetFunction(PBEx_FTP, "IsFTPEx")
        Prototype ExamineFTPDirectoryEx(ID, ErrorOutput)
        Global ExamineFTPDirectoryEx.ExamineFTPDirectoryEx = GetFunction(PBEx_FTP, "ExamineFTPDirectoryEx")
        Prototype FinishFTPDirectoryEx(ID, ErrorOutput)
        Global FinishFTPDirectoryEx.FinishFTPDirectoryEx = GetFunction(PBEx_FTP, "FinishFTPDirectoryEx")
        Prototype NextFTPDirectoryEntryEx(ID, ErrorOutput)
        Global NextFTPDirectoryEntryEx.NextFTPDirectoryEntryEx = GetFunction(PBEx_FTP, "NextFTPDirectoryEntryEx")
        Prototype FTPDirectoryEntryNameEx(ID, Output, ErrorOutput)
        Global FTPDirectoryEntryNameEx.FTPDirectoryEntryNameEx = GetFunction(PBEx_FTP, "FTPDirectoryEntryNameEx")
        Prototype FTPDirectoryEntrySizeEx(ID, ErrorOutput)
        Global FTPDirectoryEntrySizeEx.FTPDirectoryEntrySizeEx = GetFunction(PBEx_FTP, "FTPDirectoryEntrySizeEx")
        Prototype FTPDirectoryEntryTypeEx(ID, ErrorOutput)
        Global FTPDirectoryEntryTypeEx.FTPDirectoryEntryTypeEx = GetFunction(PBEx_FTP, "FTPDirectoryEntryTypeEx")
        Prototype FTPDirectoryEntryDateEx(ID, ErrorOutput)
        Global FTPDirectoryEntryDateEx.FTPDirectoryEntryDateEx = GetFunction(PBEx_FTP, "FTPDirectoryEntryDateEx")
        Prototype FTPDirectoryEntryAttributesEx(ID, ErrorOutput)
        Global FTPDirectoryEntryAttributesEx.FTPDirectoryEntryAttributesEx = GetFunction(PBEx_FTP, "FTPDirectoryEntryAttributesEx")
        Prototype GetFTPDirectoryEx(ID, Output, ErrorOutput)
        Global GetFTPDirectoryEx.GetFTPDirectoryEx = GetFunction(PBEx_FTP, "GetFTPDirectoryEx")
        Prototype SetFTPDirectoryEx(ID, DirectoryName.p-Unicode, ErrorOutput)
        Global SetFTPDirectoryEx.SetFTPDirectoryEx = GetFunction(PBEx_FTP, "SetFTPDirectoryEx")
        Prototype CreateFTPDirectoryEx(ID, DirectoryName.p-Unicode, ErrorOutput)
        Global CreateFTPDirectoryEx.CreateFTPDirectoryEx = GetFunction(PBEx_FTP, "CreateFTPDirectoryEx")
        Prototype DeleteFTPDirectoryEx(ID, DirectoryName.p-Unicode, ErrorOutput)
        Global DeleteFTPDirectoryEx.DeleteFTPDirectoryEx = GetFunction(PBEx_FTP, "DeleteFTPDirectoryEx")
        Prototype DeleteFTPFileEx(ID, FileName.p-Unicode, ErrorOutput)
        Global DeleteFTPFileEx.DeleteFTPFileEx = GetFunction(PBEx_FTP, "DeleteFTPFileEx")
        Prototype RenameFTPFileEx(ID, FileName.p-Unicode, NewFileName.p-Unicode, ErrorOutput)
        Global RenameFTPFileEx.RenameFTPFileEx = GetFunction(PBEx_FTP, "RenameFTPFileEx")
        Prototype ReceiveFTPFileEx(ID, RemoteFileName.p-Unicode, FileName.p-Unicode,IsAsynchron,  ErrorOutput)
        Global ReceiveFTPFileEx.ReceiveFTPFileEx = GetFunction(PBEx_FTP, "ReceiveFTPFileEx")
        Prototype SendFTPFileEx(ID, FileName.p-Unicode, RemoteFileName.p-Unicode, IsAsynchron, ErrorOutput)
        Global SendFTPFileEx.SendFTPFileEx = GetFunction(PBEx_FTP, "SendFTPFileEx")
        Prototype FTPProgressEx(ID, PercentValue, TransferRate, EstimatedTime, ErrorOutput)
        Global FTPProgressEx.FTPProgressEx = GetFunction(PBEx_FTP, "FTPProgressEx")
        
      EndIf
      
      Define ErrorOutput$ = Space(128)
      Define FileName$ = Space(#MAX_PATH)
      
      Debug "SFTP..."
      
      If OpenFTPEx(1, #PBEx_FTP_Protocol_SFTP, "test.rebex.net", 22, "demo", "password", #PB_UTF8, @ErrorOutput$)
        ;If OpenFTPEx(1, #PBEx_FTP_Protocol_SFTP, "demo.wftpserver.com", 2222, "demo-user", "demo-user", #PB_UTF8, @ErrorOutput$)
        SetFTPDirectoryEx(1, "pub", @ErrorOutput$)
        SetFTPDirectoryEx(1, "example", @ErrorOutput$)
        ;SetFTPDirectoryEx(1, "download", @ErrorOutput$)
        ;SetFTPDirectoryEx(1, "upload", @ErrorOutput$)
        
        If ExamineFTPDirectoryEx(1, @ErrorOutput$)
          While NextFTPDirectoryEntryEx(1, @ErrorOutput$)
            FTPDirectoryEntryNameEx(1, @FileName$, @ErrorOutput$)
            Debug FileName$
          Wend
          
        EndIf
        
      ;   Define a
      ;   Define PercentValue = 0
      ;   Define TransferRate = 0
      ;   Define EstimatedTime = 0
      ;   
      ;   ReceiveFTPFileEx(1, "wftpserver-linux-64bit.tar.gz", "D:\wftpserver-linux-64bit.tar.gz", 1, @ErrorOutput$)
      ;   
      ;   For a=1 To 100
      ;     FTPProgressEx(1, @PercentValue, @TransferRate, @EstimatedTime, @ErrorOutput$)
      ;     Debug PercentValue
      ;     Debug TransferRate
      ;     Debug EstimatedTime
      ;     Debug "--------"
      ;     Delay(100)
      ;   Next
      ;   
      ;   Delay(10000)
        
        CloseFTPEx(1, @ErrorOutput$)
      Else
        Debug ErrorOutput$
      EndIf
      
      Debug ""
      Debug "FTP..."
      
      If OpenFTPEx(1, #PBEx_FTP_Protocol_FTP, "rsbasic.de", 21, "webika3rg_qch3ai", "PureBasic!2016", #PB_UTF8, @ErrorOutput$)
        If ExamineFTPDirectoryEx(1, @ErrorOutput$)
          While NextFTPDirectoryEntryEx(1, @ErrorOutput$)
            FTPDirectoryEntryNameEx(1, @FileName$, @ErrorOutput$)
            Debug FileName$
          Wend
          
        EndIf
        
        CloseFTPEx(1, @ErrorOutput$)
      Else
        Debug ErrorOutput$
      EndIf
      
      Debug ""
      Debug "FTPS explicit..."
      
      If OpenFTPEx(1, #PBEx_FTP_Protocol_FTPS_Explicit, "test.rebex.net", 21, "demo", "password", #PB_UTF8, @ErrorOutput$)
        If ExamineFTPDirectoryEx(1, @ErrorOutput$)
          While NextFTPDirectoryEntryEx(1, @ErrorOutput$)
            FTPDirectoryEntryNameEx(1, @FileName$, @ErrorOutput$)
            Debug FileName$
          Wend
          
        EndIf
        
        CloseFTPEx(1, @ErrorOutput$)
      Else
        Debug ErrorOutput$
      EndIf
      
      Debug ""
      Debug "FTPS implicit..."
      
      If OpenFTPEx(1, #PBEx_FTP_Protocol_FTPS_Implicit, "test.rebex.net", 990, "demo", "password", #PB_UTF8, @ErrorOutput$)
        If ExamineFTPDirectoryEx(1, @ErrorOutput$)
          While NextFTPDirectoryEntryEx(1, @ErrorOutput$)
            FTPDirectoryEntryNameEx(1, @FileName$, @ErrorOutput$)
            Debug FileName$
          Wend
          
        EndIf
        
        CloseFTPEx(1, @ErrorOutput$)
      Else
        Debug ErrorOutput$
      EndIf
      
      CloseLibrary(PBEx_FTP)
      
  • CloseFTPEx()
    • Syntax:

      Code: Alles auswählen

      Result = CloseFTPEx(ID, @ErrorOutput)
    • Beschreibung: Schließt die offene Verbindung zum Server.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • CheckFTPConnectionEx()
    • Syntax:

      Code: Alles auswählen

      Result = CheckFTPConnectionEx(ID, @ErrorOutput)
    • Beschreibung: Überprüft, ob die Verbindung zum Server noch besteht.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Die Verbindung zum Server besteht.
  • IsFTPEx()
    • Syntax:

      Code: Alles auswählen

      Result = IsFTPEx(ID, @ErrorOutput)
    • Beschreibung: Überprüft, ob die ID korrekt initialisiert wurde.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Die ID ist gültig.
  • ExamineFTPDirectoryEx()
    • Syntax:

      Code: Alles auswählen

      Result = ExamineFTPDirectoryEx(ID, @ErrorOutput)
    • Beschreibung: Startet die Auflistung vom aktuellen Verzeichnis.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • FinishFTPDirectoryEx()
    • Syntax:

      Code: Alles auswählen

      Result = FinishFTPDirectoryEx(ID, @ErrorOutput)
    • Beschreibung: Schließt die Auflistung vom aktuellen Verzeichnis.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • NextFTPDirectoryEntryEx()
    • Syntax:

      Code: Alles auswählen

      Result = NextFTPDirectoryEntryEx(ID, @ErrorOutput)
    • Beschreibung: Der nächste Ordner oder die nächste Datei wird ermittelt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Ein weiterer Ordner oder eine weitere Datei existiert.
  • FTPDirectoryEntryNameEx()
    • Syntax:

      Code: Alles auswählen

      Result = FTPDirectoryEntryNameEx(ID, @Output, @ErrorOutput)
    • Beschreibung: Der Ordner- oder Dateiname wird ermittelt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Der Ordner- oder Dateiname wird in die String-Variable gespeichert.
      3. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • FTPDirectoryEntrySizeEx()
    • Syntax:

      Code: Alles auswählen

      Result = FTPDirectoryEntrySizeEx(ID, @ErrorOutput)
    • Beschreibung: Die Größe der Datei wird ermittelt.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • Die Größe der Datei wird zurückgegeben.
  • FTPDirectoryEntryTypeEx()
    • Syntax:

      Code: Alles auswählen

      Result = FTPDirectoryEntryTypeEx(ID, @ErrorOutput)
    • Beschreibung: Prüft, ob der Eintrag eine Datei oder ein Ordner ist.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Es ist eine Datei. #PB_FTP_File kann verwendet werden.
      • 2: Es ist ein Ordner. #PB_FTP_Directory kann verwendet werden.
  • FTPDirectoryEntryDateEx()
    • Syntax:

      Code: Alles auswählen

      Result = FTPDirectoryEntryDateEx(ID, @ErrorOutput)
    • Beschreibung: Ermittelt das Bearbeitungsdatum der Datei oder des Ordners.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • Das Bearbeitungsdatum der Datei oder des Ordners. Der Wert kann mit der Date-Bibliothek verwendet werden.
  • FTPDirectoryEntryAttributesEx()
    • Syntax:

      Code: Alles auswählen

      Result = FTPDirectoryEntryAttributesEx(ID, @ErrorOutput)
    • Beschreibung: Ermittelt die festgelegten Attribute der Datei oder des Ordners.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • Die festgelegten Attribute der Datei oder des Ordners werden zurückgegeben. #PB_FTP_ReadUser, #PB_FTP_WriteUser, #PB_FTP_ExecuteUser, #PB_FTP_ReadGroup, #PB_FTP_WriteGroup, #PB_FTP_ExecuteGroup, #PB_FTP_ReadAll, #PB_FTP_WriteAll und #PB_FTP_ExecuteAll können verwendet werden.
  • GetFTPDirectoryEx()
    • Syntax:

      Code: Alles auswählen

      Result = GetFTPDirectoryEx(ID, @Output, @ErrorOutput)
    • Beschreibung: Ermittelt den aktuellen Pfad.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @Output: Der aktuelle Pfad wird in die String-Variable gespeichert.
      3. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SetFTPDirectoryEx()
    • Syntax:

      Code: Alles auswählen

      Result = SetFTPDirectoryEx(ID, DirectoryName$, @ErrorOutput)
    • Beschreibung: Öffnet einen Unterordner.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. DirectoryName$: Name des Ordners, der geöffnet werden soll.
      3. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • CreateFTPDirectoryEx()
    • Syntax:

      Code: Alles auswählen

      Result = CreateFTPDirectoryEx(ID, DirectoryName$, @ErrorOutput)
    • Beschreibung: Erstellt ein neues Verzeichnis.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. DirectoryName$: Name des Ordners, der erstellt werden soll.
      3. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • DeleteFTPDirectoryEx()
    • Syntax:

      Code: Alles auswählen

      Result = DeleteFTPDirectoryEx(ID, DirectoryName$, @ErrorOutput)
    • Beschreibung: Löscht ein Verzeichnis.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. DirectoryName$: Name des Ordners, der gelöscht werden soll.
      3. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • DeleteFTPFileEx()
    • Syntax:

      Code: Alles auswählen

      Result = DeleteFTPFileEx(ID, FileName$, @ErrorOutput)
    • Beschreibung: Löscht eine Datei.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. FileName$: Name der Datei, die gelöscht werden soll.
      3. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • RenameFTPFileEx()
    • Syntax:

      Code: Alles auswählen

      Result = RenameFTPFileEx(ID, FileName$, NewFileName$, @ErrorOutput)
    • Beschreibung: Benennt eine Datei um.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. FileName$: Name der Datei, die umbenannt werden soll.
      3. NewFileName$: Der neue Name der Datei.
      4. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • ReceiveFTPFileEx()
    • Syntax:

      Code: Alles auswählen

      Result = ReceiveFTPFileEx(ID, RemoteFileName$, FileName$, IsAsynchron, @ErrorOutput)
    • Beschreibung: Lädt eine Datei herunter.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. RemoteFileName$: Name der Datei, die heruntergeladen werden soll.
      3. FileName$: Lokaler Zielpfad.
      4. IsAsynchron: Wenn 1, dann wird der Vorgang asynchron durchgeführt. Mit FTPProgressEx() kann ermittelt werden, wie weit der Vorgang ist.
      5. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • SendFTPFileEx()
    • Syntax:

      Code: Alles auswählen

      Result = SendFTPFileEx(ID, FileName$, RemoteFileName$, IsAsynchron, @ErrorOutput)
    • Beschreibung: Lädt eine Datei hoch.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. FileName$: Lokaler Pfad der Datei, die hochgeladen werden soll.
      3. RemoteFileName$: Name der Datei.
      4. IsAsynchron: Wenn 1, dann wird der Vorgang asynchron durchgeführt. Mit FTPProgressEx() kann ermittelt werden, wie weit der Vorgang ist.
      5. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
  • FTPProgressEx()
    • Syntax:

      Code: Alles auswählen

      Result = FTPProgressEx(ID, @PercentValue, @TransferRate, @EstimatedTime, @ErrorOutput)
    • Beschreibung: Ermittelt, wie weit der Vorgang ist. Diese Funktion ist bei ReceiveFTPFileEx() oder SendFTPFileEx() gültig und wenn der Parameter "IsAsynchron" auf 1 gesetzt ist.
    • Parameter:
      1. ID: Die Nummer der Verbindung.
      2. @PercentValue: In diese Variable wird der Prozentwert gespeichert, wie weit der Vorgang ist.
      3. @TransferRate: In diese Variable wird die aktuelle Übertragungsrate in Bytes gespeichert.
      4. @EstimatedTime: In diese Variable wird die geschätzte Zeit in Sekunden gespeichert.
      5. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 1: Der Vorgang war erfolgreich.
Systemvoraussetzungen:
  • Windows Vista oder höher
  • .NET Framework 4.5 oder höher
  • Unicode-Aktivierung (standardmäßig ab PB 5.50)
Lizenz: Diese DLL-Datei ist kostenlos und darf sowohl privat als auch kommerziell verwendet werden.
Folgende Copyright-Texte müssen mitgeliefert werden:
Copyright (c) 2015 Robin Rodricks and FluentFTP Contributors
Copyright © 2019 RSBasic.de
Download: http://www.rsbasic.de/downloads/downloa ... Ex_FTP.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Wer mich unterstützen möchte, kann mir auch was kleines spenden. Danke :)
BildBildBildBild BildBild
Benutzeravatar
Bisonte
Beiträge: 2387
Registriert: 01.04.2007 20:18

Re: PB.Ex SFTP (Windows)

Beitrag von Bisonte »

Das klingt ja mal grandios....

Wie Zebuddi im engl. Forum schon andeutete .... Ich glaub auch : Du hast nen Lauf :D

Aber mal kurz gefragt : Diese Funktionen. Sind die auch anwendbar, wenn nicht das SSH File Transfer Protocol genutzt wird, sondern nur FTP ?
Sozusagen als Ersatz für die PB Internen Befehle ?
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​
RSBasic
Admin
Beiträge: 7882
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex SFTP (Windows)

Beitrag von RSBasic »

Leider nein. Funktioniert nur über SSH.
Aber wenn du sowas unbedingt haben möchtest, kann ich das gerne für dich ebenfalls umsetzen, damit man es für beide Varianten nutzen kann. Sag ja, dann mach ich es.
BildBildBildBild BildBild
oO0XX0Oo
Beiträge: 49
Registriert: 21.07.2017 22:36

Re: PB.Ex SFTP (Windows)

Beitrag von oO0XX0Oo »

Grandios... Ehrlich. Ganz herzlichen Dank für die Arbeit, die du dir mit diesen Modulen machst
(und die anders auch nicht verfügbar wären (PB intern))!
Benutzeravatar
Kiffi
Beiträge: 10448
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PB.Ex SFTP (Windows)

Beitrag von Kiffi »

RSBasic hat geschrieben:Sag ja, dann mach ich es.
Ja!

Grüße ... Bisonte ;-)
Hygge
Benutzeravatar
Bisonte
Beiträge: 2387
Registriert: 01.04.2007 20:18

Re: PB.Ex SFTP (Windows)

Beitrag von Bisonte »

Kiffi hat geschrieben:
RSBasic hat geschrieben:Sag ja, dann mach ich es.
Ja!

Grüße ... Bisonte ;-)
Grüsse Kiffi :mrgreen:
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​
Benutzeravatar
Bisonte
Beiträge: 2387
Registriert: 01.04.2007 20:18

Re: PB.Ex SFTP (Windows)

Beitrag von Bisonte »

Ich hab da grad ein Problem mit einem FTP Server.

Dort ist laut Filezilla : Explizites FTP über TLS angesagt (der zeigt beim login das auch so an).

Ich kann mich aber nicht mit PB per DLL verbinden... Hab ich da ein Verständnisfehler ?
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​
oO0XX0Oo
Beiträge: 49
Registriert: 21.07.2017 22:36

Re: PB.Ex SFTP (Windows)

Beitrag von oO0XX0Oo »

Naja, die dll unterstützt SFTP, nicht aber FTPS (2 verschiedene Protokolle)...
RSBasic
Admin
Beiträge: 7882
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex SFTP (Windows)

Beitrag von RSBasic »

Bisonte hat geschrieben:Explizites FTP über TLS angesagt
Wie oO0XX0Oo schon richtig sagte, ist das ein anderes Protokoll (FTP over SSL/TLS (FTPS)), hat aber nichts mit SSH zu tun. (SFTP)
Du kannst mal bei dem Server schauen, ob vielleicht auch SFTP unterstützt/angeboten wird?
Bei FTPS ist es, wenn nichts anderes konfiguriert ist, standardmäßig Port 990 und SFTP 22.
Vielleicht klappt es mit dem Port 22?
Falls der Server kein SFTP kann, aber du gerne mit PB darauf zugreifen möchtest, dann kann ich meine Bibliothek erweitern.
BildBildBildBild BildBild
Benutzeravatar
Bisonte
Beiträge: 2387
Registriert: 01.04.2007 20:18

Re: PB.Ex SFTP (Windows)

Beitrag von Bisonte »

RSBasic hat geschrieben:dann kann ich meine Bibliothek erweitern.
Das würde ich sehr begrüssen :allright:
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​
Antworten