AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datei auf FTP Server OHNE Indy

Offene Frage von "Stewag"
Ein Thema von Stewag · begonnen am 4. Jul 2021 · letzter Beitrag vom 6. Jul 2021
Antwort Antwort
Seite 1 von 3  1 23   
Stewag

Registriert seit: 12. Jun 2008
159 Beiträge
 
Delphi 12 Athens
 
#1

Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 15:49
Ich nutze zum Download einer Datei von einer gesicherten Webseite THTTPClient da dieser im Gegensatz zur Indy Komponente TidHTTP keine SSl Libs benötigt.
Das klappt gut.

Für einen Upload auf einen gesicherten FTP Server würde ich gerne ebenso vorgehen, d.h. unter Verwendung von THTTPClient oder TNetHTTPClient / TNetHTTPRequest.
Die Zielumgebung ist MacOS.

Leider scheint dies kein sonderlich häufig genutztes Vorgehen zu sein, denn üblicherweise wird dafür auf die Indy Komponente verwiesen.
Daher wohl finde ich kein Code-Beispiel für die alternative Methode, nur die entsprechende Emba Hilfe.
Damit komme ich aber nicht weiter.

Hat jemand ein Code-Beispiel für den POST Upload einer Datei per Stream, ohne SSL libs?
Steffen

Geändert von Stewag ( 4. Jul 2021 um 16:00 Uhr)
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
308 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 17:51
Ich könnte dir einen http/https-Upload anbieten. TmpFile ist der komplette Pfad und Name der lokalen Datei:

NetHttpClient1.Put('http://deinedomain.de/'+RemoteDir+ExtractFileName(TmpFile), TmpFile);


Und zum Authentifizieren:

Delphi-Quellcode:
procedure TForm3.NetHTTPClient1AuthEvent(const Sender: TObject; AnAuthTarget: TAuthTargetType; const ARealm, AURL: string; var AUserName, APassword: string; var AbortAuth: Boolean; var Persistence: TAuthPersistenceType);
begin
if AnAuthTarget = TAuthTargetType.Server then
 begin
 {Achtung: bei falschem Password wird keine Exception (auch nicht beim Upload geworfen}
 AUserName:='deinusername';
 APassword:='deinpasswort';
 end;
end;
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 17:57
Die erwähnten mit Delphi mitgelieferten Komponenten dürften auf HTTP Funktionalitäten
des jeweiligen OS aufsetzen. Ich weiß jetzt aber nicht, ob die betreffenden Betriebssysteme
für FTP überhaupt entsprechende APIs anbieten.

Zumindest für WIndows gibt's als open source Alternative zu Indy noch ICS.
http://www.overbyte.eu
  Mit Zitat antworten Zitat
Stewag

Registriert seit: 12. Jun 2008
159 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 20:37

NetHttpClient1.Put('http://deinedomain.de/'+RemoteDir+ExtractFileName(TmpFile), TmpFile);
...danke Papaschlumpf!

Ich habe alle möglichen Kombinationen probiert:
https://domain.de
https://www.domain.de
ftp://domain.de
ftp://ftp.domain.de
etc.

Sowohl mit Put als auch mit Post.

Leider klappt es bereits unter Windows nicht.

Hast Du eine Idee?

Gruß
Steffen
Steffen
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 20:48

Ich habe alle möglichen Kombinationen probiert:
https://domain.de
https://www.domain.de
ftp://domain.de
ftp://ftp.domain.de
etc.

Sowohl mit Put als auch mit Post.

Leider klappt es bereits unter Windows nicht.

Hast Du eine Idee?

Gruß
Steffen
Hast du auch auf der Gegenseite ein Programm, was deine Daten entgegennimmt (FTP Server, HTTP Server, PHP Script)?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Stewag

Registriert seit: 12. Jun 2008
159 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:08
... oh, dort muss ebenfalls ein Delphi Programm laufen?

Nein, ist der gewöhnliche FTP Server meiner Webseite. Ich wüsste auch nicht, wie ich dort eine Software installieren könnte.
Steffen
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:15
... oh, dort muss ebenfalls ein Delphi Programm laufen?

Nein, ist der gewöhnliche FTP Server meiner Webseite. Ich wüsste auch nicht, wie ich dort eine Software installieren könnte.
Beim Download ist das viel einfacher. Wenn auf einem FTP/HTTP Link eine Datei liegt, kannst du diese runterladen. Gegebenenfalls mit Anmeldung.

Bei einem Upload brauchst du jemanden, der die Datei entgegennimmt. Das kann ein FTP Server sein oder aber ein Website, wo ein Script läuft.
Kannst du zum Test eine ungesicherte Verbindung aufbauen und dann testen?
Siehst du auf dem FTP Server in den Logs, dass sich da jemand verbinden will?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
308 Beiträge
 
Delphi 12 Athens
 
#8

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:16
Oje, jetzt müssen wir erst mal mit den Begriffen aufräumen. Http ist ein Protokoll und ftp ebenfalls. Das heißt: NetHttpClient spricht auch nur http bzw. https aber nicht ftp. Dazu kommt, dass auf den meisten Webservern schon aus Sicherheitsgründen gar kein "echter" FTP-Server mehr läuft, sondern FTPS oder SFTP. Das sind aber alles unterschiedliche Sachen.

Daher würde ich den Upload eben auch über http(s) machen. Wichtig: Du brauchst dafür nicht die "angeblichen" ftp-Zugangsdaten, sondern die WebDAV-Zugangsdaten. WebDAV läuft über https.

Bei welchem Hoster läuft deine Domain?
  Mit Zitat antworten Zitat
Stewag

Registriert seit: 12. Jun 2008
159 Beiträge
 
Delphi 12 Athens
 
#9

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:23
Zitat:
Bei welchem Hoster läuft deine Domain?
One.com. In der FAQ dort finde ich allerdings gar kein WebDav.
Steffen
  Mit Zitat antworten Zitat
Stewag

Registriert seit: 12. Jun 2008
159 Beiträge
 
Delphi 12 Athens
 
#10

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:24
Zitat:
Siehst du auf dem FTP Server in den Logs, dass sich da jemand verbinden will?
Nein. Geht das evtl. mit FileZilla?
Steffen
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz