Dateitransfer mit 'special characters' mit cURL

FatManStanding

Lt. Junior Grade
Registriert
Aug. 2021
Beiträge
385
tach,

ich nutze für das zwischenspeichern von dateien auf dem usb-stick an meiner fritzbox nicht rsync oder cp sondern die ftp-funktion in cURL. grund: der upload von dateien ab ca. 1GB bricht nach einer weile mit rsync oder cp mit einem i/o-error ab. hab nie herausbekommen wieso. passiert nur bei der fritzbox und früher mal bei einem alten raspberry pi v1. also hab ich ein kontext-menü im dateimanager erstellt der ds mit cURL macht - fertig. ftp mag rückständig sein, funktioniert aber.

hier gibt es probleme mit bestimmten zeichen, z. B. den umlauten oder dem breiten bindestrich (nicht das minus auf der tastatur). bei der zieldatei auf dem stick sind die dann durch kryptische zeichen ersetzt.

gibt es eine möglichkeit das zu ändern oder ist das eine limitierung von curl und/oder ftp?
 
FatManStanding schrieb:
hier gibt es probleme mit bestimmten zeichen, z. B. den umlauten oder dem breiten bindestrich
hast du da ein curl -v zu?Ohne Fehlermeldung schwierig eine Lösung zu finden.

FatManStanding schrieb:
ftp mag rückständig sein, funktioniert aber.

hier gibt es probleme mit bestimmten zeichen
lies mal..

Es hat seine Gründe das ftp überall deprecated wird.
Du kannst halt auch einfach rsync nehmen..
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: BFF und Fusionator
hast du da ein curl -v zu?Ohne Fehlermeldung schwierig eine Lösung zu finden.

nichts weiter was hilft:

Code:
< 220 FRITZ!Box7490 FTP server ready.
> USER <user>
< 331 Password required for <user>.
> PASS <password>
< 230 User <user> logged in.
> PWD
< 257 "/" is current directory.
* Entry path is '/'
> CWD FlashDrive
* ftp_perform ends with SECONDARY: 0
< 250 CWD command successful.
> CWD HTPC-Sync
< 250 CWD command successful.
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||39688|)
*   Trying 192.168.10.1:39688...
* TCP_NODELAY set
* Connecting to 192.168.10.1 (192.168.10.1) port 39688
* Connected to 192.168.10.1 (192.168.10.1) port 21 (#0)
> TYPE I
< 200 Type set to I.
> STOR äüö.mkv
< 150 Opening BINARY mode data connection for 'äüö.mkv'.
} [65536 bytes data]
* We are completely uploaded and fine
* Remembering we are in dir "FlashDrive/neu/"
< 226 Transfer complete.
100  439k    0     0  100  439k      0   837k --:--:-- --:--:-- --:--:--  837k
* Connection #0 to host 192.168.10.1 left intact

wie man sieht wird die datei äüö.mkv als äüö.mkv hochgeladen.

Du kannst halt auch einfach rsync nehmen..

wenn ich die wahl habe zwischen einem rückständigen programm, das eine aufgabe schlecht erfüllt und einem anderen moderneren programm, das an einer aufgabe scheitert - welches nimmt man wohl? rsync geht überhaupt nicht, genauso wie cp und mv und kopieren mit dateimanager ...

Müsste ich raten, hast du vergessen die Payload in " " zu setzen oder musst Sonderzeichen entsprechend maskieren.

das funktioniert natürlich, hilft aber nicht weiter weil das script ja als kontextmenü über den dateimanager aufgerufen wird und ich das ganze nicht manuell eintippe. ich hab mir jetzt etwas zurechtgeskriptet wo ich den ausgabe-dateinamen als punycode schreiben lasse und dann den punycode-dateinamen 'rückübersetze'.
 
Du kannst probieren, in der FTP-Verbindung OPTS UTF-8 ON mitzuschicken. Das klappt aber nur, wenn der FritzBox-FTP-Server RFC 2640 unterstützt (konnte dazu keine Info finden). Unterstützt er es nicht, wirst du mit kaputten Umlauten leben müssen.
 
  • Gefällt mir
Reaktionen: snaxilian
ich guck mal.

wenn ich mit rsync kopiere (was ja bei dateien bis ca. 1GB geht, nur bei größeren nicht) werden umlaute angezeigt, es scheint also kein problem der fritzbox zu sein. auch kann ich problemlos die dateien nachträglich ändern.
 
Zurück
Oben