SFTP[ERLEDIGT]

Vom Front-End bis SOAP.

Moderator: Moderatoren

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: SFTP

Beitrag von AUGE_OHR »

hi,

es gibt "libcurl - the multiprotocol file transfer library "
https://curl.haxx.se/libcurl/

das kann so ziemlich alles was es an Protokollen gibt.
den Source und Beispiele findet man hier
https://github.com/curl/curl/tree/master/docs/examples

---

so wie ich verstanden habe kann man es "Stand-Alone" oder zum einbinden in seine App nutzten
unter harbour ist es eine Standard LIB, hier eine Demo App
SFTP.jpg
SFTP.jpg (81.6 KiB) 12859 mal betrachtet
hb_Sftp.zip
(2.49 MiB) 283-mal heruntergeladen
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: SFTP

Beitrag von ramses »

AUGE_OHR hat geschrieben: Sa, 16. Mai 2020 0:50 es gibt "libcurl - the multiprotocol file transfer library "
https://curl.haxx.se/libcurl/
Hallo Jimmy

hast du diese auch schon benutzt um SMTP Mails in HTML-Format mit Anhang zu versenden?
Dieser Anwendungsfall würde mich interessieren.
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: SFTP

Beitrag von AUGE_OHR »

hi,

das Demo ist auf sFTP ausgelegt
für Email habe ich z.Z. noch hbTIP (mit SSL) zu senden/empfangen.

wer sich dafür interessiert dem kann ich die "Arbeits-Probe" schicken, bitte eine PN an mich

! Note : das ZIP nicht im selben Ordner wie PGU auspacken da die ssleay32.dll, libeay32.dll und zlib1.dll verschiedene Version haben könnten.
gruss by OHR
Jimmy
Benutzeravatar
Fischkopp
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Sa, 19. Jul 2014 10:31
Wohnort: Berlin

Re: SFTP

Beitrag von Fischkopp »

Hallo,
ich puzzle leider immer noch mit ´Winscp´ rum, habe den Aufruf statt mit runshell mit DllCall gemacht (dank Carlo`s Vorlage).
Das funktioniert soweit auch, das CMD-Fenster geht auf und Winscp wird gestartet und stellt die Verbindung her:
im CMD-Fenster steht dann:

Suche nach entferntem Rechner...
Verbinde mit entferntem Rechner...
Authentifiziere...
Verwende Benutzername "wendelmotorraeder".
Authentifikation mit zuvor eingegebenem Passwort.
Authentifiziert.
Starte die Sitzung...
Sitzung gestartet.
Aktive Sitzung: [1] wendelxy:xyyyyyyyy@wendelxyyyy.de
winscp>

hier könnte ich händisch weitere Befehle ( `put` o.ä.) eingeben, ein exit schließt das Programm und das CMD-Fenster, schön.
Aber das soll ja auch von xBase aus gemacht werden.
Der Code sieht soweit wie folgt aus:

Code: Alles auswählen

nWinMode     := 1
::nCmdHandle := 0
cFile 	     := "C:\Program files (x86)\WinSCP\WinScp.com"
cParameters  := "sftp://wendelxy:xyyyyyyyy@wendelxyyyy.de"
// oder: 
cParameters := "/command "open sftp://wendelxy:xyyyyyyyy@wendelxyyyy.de"
// beide funktionieren mit DllCall:

::nError  := DllCall("Shell32.dll", DLL_STDCALL, "ShellExecuteA", ;
                     ::nCmdHandle, "open", cFile, cParameters, ::cCmPfad, nWinMode)
// Ergebniss: 
// ::nError     :         42
// ::nCmdHandle :      65552
Ich möchte das Fenster nun mit weiteren Befehlen `füttern`, aber das klappt nicht, obwohl ich den Handle übergebe,
weder mit DllCall noch mit DllExecuteCall. Das zerlegen in DllPrepareCall + DllExecuteCall krieg ich auch nicht hin.

Mache ich da einen Denkfehler, ist das überhaupt vom Ansatz her richtig?
Die Hilfe für diese Befehle strotzt ja auch nicht von Beispielen :cry:

Für Hinweise wäre ich dankbar, dreh mich wohl grad im Kreis :?
Grüße aus Berlin

Reiner
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SFTP

Beitrag von Koverhage »

Du machst doch auch nur einen OPEN. Was soll das sonst noch tun ?
Meiner meiner Meinung nach muss Du als Parameter eine Datei mit den auszuführenden
Befehle angeben (so wie auch beim Windowsprogramm FTP.
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SFTP

Beitrag von Koverhage »

Da ich SFTP vermutlich demnächst auch benötige.
Habe gerade nachgesehen. WIN10 hat doch ein SFTP Programm (habe aber keine Ahnung was das kann und ob das ausreicht).
Gruß
Klaus
Benutzeravatar
Fischkopp
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Sa, 19. Jul 2014 10:31
Wohnort: Berlin

Re: SFTP

Beitrag von Fischkopp »

Hallo, Klaus
ich habe bisher alles per FTPClient() hochgeladen. WinSCP scheint ja gut geeignet zu sein, nur an der Umsetzung in xBase hapert`s :(
s. oben.
Am liebsten würde ich ein Objekt bauen, das die gleichen Funktionen wie FTPClient() enthält, dann wären die Änderungen im Code übersichtlich.
Grüße aus Berlin

Reiner
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SFTP

Beitrag von Koverhage »

Reiner,
hast Du meine Antwort gelesen ? posting.php?mode=reply&f=33&t=10927#pr134245
Gruß
Klaus
Benutzeravatar
Fischkopp
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Sa, 19. Jul 2014 10:31
Wohnort: Berlin

Re: SFTP

Beitrag von Fischkopp »

Hallo, Klaus
ja
Wie beschrieben, klappt das `open` ja, aber ich will natürlich Dateien hochladen ( put ) und das auch kontrollieren, falls der upload scheitert.
Und dann erst wieder die Verbindung lösen ( in WinSCP simple 'exit' )
Grüße aus Berlin

Reiner
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SFTP

Beitrag von Koverhage »

Das Open klappt weil Du das als Parameter angibst. Du müsstest eine (script / command) Datei als Parameter angeben.
Diese sollte alle Befehle von open bis exit enthalten, nachstehend ein Beispiel füt FTP von Windows.

Datei ftp.scr
open meinewebseite.de
User
passwort
cd html
cd updates
binary
put setup_update.exe
cd ..
close

Hier ist kein exit notwendig: Dies passiert automatisch weil eine Scriptdatei verwendet wird.
Der Aufruf erfolgt hier so: ftp -v -s:ftp.scr

Wenn das Programm keine Scriptdateien verwenden kann ist es für eine Automatik unbrauchbar.
Gruß
Klaus
Benutzeravatar
Fischkopp
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Sa, 19. Jul 2014 10:31
Wohnort: Berlin

Re: SFTP

Beitrag von Fischkopp »

Hallo, Klaus
ja, über Skripte hab ich auch schon nachgedacht, ist aber für mich eher unelegant.
Werner hat mir mit seiner Lösung geholfen, die paßt mir besser.
Das Thema `DllCall` und die Varianten dazu werde ich nun erst einmal ad akta legen,
scheint wohl komplizierter, als ich gedacht habe.

Trotzdem Danke für die Hilfe !
Grüße aus Berlin

Reiner
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: SFTP

Beitrag von Koverhage »

Wäre toll wenn die Lösung hier veröffentlicht werden würde bzw. zumindest das Thema als erledigt kennzeichnen.
Gruß
Klaus
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2121
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 72 Mal

Re: SFTP

Beitrag von Werner_Bayern »

Servus Klaus,

die "Lösung" ist ein in Windev programmiertes Tool, das von einer Xbase++ - Klasse (damit größtenteils syntaxkompatibel mit FtpClient()) angesteuert wird. Bei Interesse einfach per PM melden.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: SFTP

Beitrag von Manfred »

kann man das nicht auch mit xb2.net lösen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: SFTP

Beitrag von Wolfgang Ciriack »

M.E. nein, xb2.net unterstüzt SFTP nicht.
Viele Grüße
Wolfgang
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: SFTP

Beitrag von ramses »

mit xb2.net kannst du FTP/FTPS aber NICHT SFTP.
Das sind 2 vollkommen unterschiedliche Protokolle.
SFTP ist ein auf SSH aufbauendes Protokoll.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Fischkopp
UDF-Programmierer
UDF-Programmierer
Beiträge: 63
Registriert: Sa, 19. Jul 2014 10:31
Wohnort: Berlin

Re: SFTP

Beitrag von Fischkopp »

Hallo,
Posten werde ich den Code natürlich nicht, aber Werner hat sein Tool ja schon angeboten =D>
Ich habe es noch nicht implementiert, der 1. Test war aber ok.
Sieht insgesamt gut aus und scheint ja `FTPClient`-Kompatibel, das ist das, was ich suchte.

Kann ich ein Thema schließen, das ich gar nicht aufgemacht habe ?
Grüße aus Berlin

Reiner
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: SFTP[ERLEDIGT]

Beitrag von Bertram Hansen »

Hallo,

ich hatte jetzt auch die Herausforderung Daten per SFTP zu senden und zu holen. Dank einiger Hinweise hier im Forum :blob8: habe ich das mit dem Tool Winscp über Skript-Dateien realisiert. :D
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: SFTP[ERLEDIGT]

Beitrag von Tom »

Mmh. Für einen Microservice müssen wir auch mit SFTP hantieren. Ein externes Tool, das per Script gesteuert wird, ist keine Option. Damit hängt es momentan an Chilkat, oder?
Herzlich,
Tom
Antworten