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 2  1 2   
Papaschlumpf73

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

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 16: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
3.096 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 16: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
186 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 19: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.654 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 19: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
186 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 20: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.654 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 20: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
464 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 20: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
186 Beiträge
 
Delphi 12 Athens
 
#8

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 20: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
mytbo

Registriert seit: 8. Jan 2007
483 Beiträge
 
#9

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:16
Nein, ist der gewöhnliche FTP Server meiner Webseite. Ich wüsste auch nicht, wie ich dort eine Software installieren könnte.
Wenn es nur für deinen Webserver ist, kannst du es auch mit Windows Bordmitteln lösen. Hier ein Beispiel:

Schreibe eine Batchdatei MeinFTPUpload.bat
Code:
@echo off
ftp -n -i -s:MeinFTPUpload.ftp
echo *** Upload fertig ***
pause
Schreibe die Steuerdatei MeinFTPUpload.ftp
Code:
open ftp.meine-domain.de
user admin@meine-domain.de meinGeheimesPasswort
bin
lcd C:\MeinLokalesDatenVerzeichnis
put meineUploadDatei1.dat
put meineUploadDatei2.dat
quit
Alle möglichen Parameter für den FTP Befehl findest du in der MS-Hilfe.

Bis bald...
Thomas

Geändert von mytbo ( 4. Jul 2021 um 21:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.577 Beiträge
 
Delphi 12 Athens
 
#10

AW: Datei auf FTP Server OHNE Indy

  Alt 4. Jul 2021, 21:48
WebDAV ist doch in PHP integriert?

Ich dachte damit kann man auch einen Server aufsetzen?
Jedenfalls bietet sowas wie ownCloud und Andere auch einen WebDAV-Server an.



In Windows ist zwar FTP drin, aber über CreateFile/TFileStream/usw. ist es nicht "direkt" nutzbar.
Es gibt in der WinAPI einige schnittstellen für FTP, aber wenn es sein muß, dann kann man auch mit SUBST und Co. ein Laufwerk oder Unterverzeichnis auf FTP umleiten und Jenes dann dennoch CreateFile/TFileStream/usw. nutzen.
[edit] gibt auf dem Mac bestimmt auch sowas [/edit]

Witzig: Im OpenDialog ist sogar was drin, aber natürlich nur für den Download.
Da kann man HTTP- und FTP-URLs in das Dateiname-Edit einfügen und öffnen. (jenes wird dann windows-intern über den InternetExplorer runtergeladen und die Datei aus dem Cache übergeben ... genauso wie FTP im Explorer auch durch den IECache läuft)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Jul 2021 um 10:00 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

 
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 22:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz