Solved
Hochladen per Kommandozeile: ValueError bei PATCH-Request per curl
1 month ago
Moin liebe Community,
ich habe ein Problem beim kommandozeilenbasierten Hochladen von Dateien in die MagentaCLOUD.
Die MagentaCLOUD nutzt offenbar sabre/dav als WebDAV-Server. Das Abrufen der Cloudinhalte (PROPFIND-Request; liefert eine XML mit allen Dateien) und das Hochladen neuer Inhhalte (PUT-Request) funktionieren einwandfrei.
Was nicht funktioniert, ist das Anhängen von Inhalten an bereits hochgeladene Dateien mithilfe des PATCH-Requests, den der Server eigentlich verstehen sollte (siehe https://sabre.io/dav/http-patch). Ich versuche es mit folgender Anfrage:
curl -vv
--request PATCH "https://magentacloud.de/remote.php/webdav/test.txt"
--data "OINK!"
--header "Content-Length: 5"
--header "Content-Type: application/x-sabredav-partialupdate"
--header "X-Update-Range: append"
-u "username:password"
Obwohl bei den PROPFIND- und PUT-Befehen die Basic-Authentifizierung funktioniert, fordert der Server beim PATCH-Befehl offenbar eine strengere Methode. Es wird folgende Fehlermeldung ausgegeben:
ValueError
hash_init(): Argument #1 ($algo) must be a valid hashing algorithm
Hat jemand eine Idee, wo das Problem liegen könnte? Kann es sein, dass der WebDAV-Server falsch konfiguriert ist, oder wird der PATCH-Befehl einfach nicht unterstützt?
Beste Grüße und vielen Dank schon mal für eure Hilfe!
Marek
43
0
4
This could help you too
4 years ago
311
1
1
8 months ago
76
0
1
2983
2
5
You might also be interested in
Request purchasing advice
Fill out our online contact form quickly and easily so that we can advise you personally in a timely manner.
View offers
Find out about our current MagentaCLOUD offers.
1 month ago
Guten Abend Marek ( @marekshaw)!
Danke, dass du dein Vertrauen schenkst, allerdings sprengt das dann auch meinen Horizont. 😅
Hat jemand eine Idee, wo das Problem liegen könnte? Kann es sein, dass der WebDAV-Server falsch konfiguriert ist, oder wird der PATCH-Befehl einfach nicht unterstützt?
Moin liebe Community,
ich habe ein Problem beim kommandozeilenbasierten Hochladen von Dateien in die MagentaCLOUD.
Die MagentaCLOUD nutzt offenbar sabre/dav als WebDAV-Server. Das Abrufen der Cloudinhalte (PROPFIND-Request; liefert eine XML mit allen Dateien) und das Hochladen neuer Inhhalte (PUT-Request) funktionieren einwandfrei.
Was nicht funktioniert, ist das Anhängen von Inhalten an bereits hochgeladene Dateien mithilfe des PATCH-Requests, den der Server eigentlich verstehen sollte (siehe https://sabre.io/dav/http-patch). Ich versuche es mit folgender Anfrage:
Obwohl bei den PROPFIND- und PUT-Befehen die Basic-Authentifizierung funktioniert, fordert der Server beim PATCH-Befehl offenbar eine strengere Methode. Es wird folgende Fehlelrmeldung ausgegeben:
Hat jemand eine Idee, wo das Problem liegen könnte? Kann es sein, dass der WebDAV-Server falsch konfiguriert ist, oder wird der PATCH-Befehl einfach nicht unterstützt?
Beste Grüße und vielen Dank schon mal für eure Hilfe!
Marek
Vielleicht kann hier das geballte Wissen unserer Community unterstützend unter die Arme greifen. 😀 @Waage1969 Wer ist denn bei dem Thema so richtig im Bilde und magst mal her-verlinken? ☕
Greetz
Stefan
0
Accepted Solution
accepted by
1 month ago
en der Server eigentlich verstehen sollte (siehe https://sabre.io/dav/http-patch).
Moin liebe Community,
ich habe ein Problem beim kommandozeilenbasierten Hochladen von Dateien in die MagentaCLOUD.
Die MagentaCLOUD nutzt offenbar sabre/dav als WebDAV-Server. Das Abrufen der Cloudinhalte (PROPFIND-Request; liefert eine XML mit allen Dateien) und das Hochladen neuer Inhhalte (PUT-Request) funktionieren einwandfrei.
Was nicht funktioniert, ist das Anhängen von Inhalten an bereits hochgeladene Dateien mithilfe des PATCH-Requests, den der Server eigentlich verstehen sollte (siehe https://sabre.io/dav/http-patch). Ich versuche es mit folgender Anfrage:
Obwohl bei den PROPFIND- und PUT-Befehen die Basic-Authentifizierung funktioniert, fordert der Server beim PATCH-Befehl offenbar eine strengere Methode. Es wird folgende Fehlermeldung ausgegeben:
Hat jemand eine Idee, wo das Problem liegen könnte? Kann es sein, dass der WebDAV-Server falsch konfiguriert ist, oder wird der PATCH-Befehl einfach nicht unterstützt?
Beste Grüße und vielen Dank schon mal für eure Hilfe!
Marek
Wie kommst du auf die Idee?
ist das Anhängen von Inhalten an bereits hochgeladene Dateien
Moin liebe Community,
ich habe ein Problem beim kommandozeilenbasierten Hochladen von Dateien in die MagentaCLOUD.
Die MagentaCLOUD nutzt offenbar sabre/dav als WebDAV-Server. Das Abrufen der Cloudinhalte (PROPFIND-Request; liefert eine XML mit allen Dateien) und das Hochladen neuer Inhhalte (PUT-Request) funktionieren einwandfrei.
Was nicht funktioniert, ist das Anhängen von Inhalten an bereits hochgeladene Dateien mithilfe des PATCH-Requests, den der Server eigentlich verstehen sollte (siehe https://sabre.io/dav/http-patch). Ich versuche es mit folgender Anfrage:
Obwohl bei den PROPFIND- und PUT-Befehen die Basic-Authentifizierung funktioniert, fordert der Server beim PATCH-Befehl offenbar eine strengere Methode. Es wird folgende Fehlermeldung ausgegeben:
Hat jemand eine Idee, wo das Problem liegen könnte? Kann es sein, dass der WebDAV-Server falsch konfiguriert ist, oder wird der PATCH-Befehl einfach nicht unterstützt?
Beste Grüße und vielen Dank schon mal für eure Hilfe!
Marek
Nicht gesehen, dass es eine derartige Funktion überhaupt nicht in der MagentaCloud gibt?
Hat jemand eine Idee, wo das Problem liegen könnte?
Moin liebe Community,
ich habe ein Problem beim kommandozeilenbasierten Hochladen von Dateien in die MagentaCLOUD.
Die MagentaCLOUD nutzt offenbar sabre/dav als WebDAV-Server. Das Abrufen der Cloudinhalte (PROPFIND-Request; liefert eine XML mit allen Dateien) und das Hochladen neuer Inhhalte (PUT-Request) funktionieren einwandfrei.
Was nicht funktioniert, ist das Anhängen von Inhalten an bereits hochgeladene Dateien mithilfe des PATCH-Requests, den der Server eigentlich verstehen sollte (siehe https://sabre.io/dav/http-patch). Ich versuche es mit folgender Anfrage:
Obwohl bei den PROPFIND- und PUT-Befehen die Basic-Authentifizierung funktioniert, fordert der Server beim PATCH-Befehl offenbar eine strengere Methode. Es wird folgende Fehlermeldung ausgegeben:
Hat jemand eine Idee, wo das Problem liegen könnte? Kann es sein, dass der WebDAV-Server falsch konfiguriert ist, oder wird der PATCH-Befehl einfach nicht unterstützt?
Beste Grüße und vielen Dank schon mal für eure Hilfe!
Marek
Nextcloud kann das nicht. Daher kann es auch nicht die MagentaCloud.
Selbst bei DAV ist das nichts, was man häufig findet.
Darfst das nicht mit CalDAV o. CardDAV verwechseln.
1
Answer
from
30 days ago
Danke schon mal für die Erklärungen @CyberSW!
Meine Idee war, dass der PATCH-Befehl von SabreDAV unterstützt wird (https://sabre.io/dav/http-patch/) und SabreDAV ist der WebDAV-Server, den die MagentaCLOUD nutzt. Dass hinter der MagentaCLOUD wiederum die Nextcloud steckt, hatte ich gar nicht auf dem Schirm.
Du hast recht damit, dass die Nextcloud dieses SabreDAV-Feature noch nicht unterstützt (https://github.com/nextcloud/server/issues/15923). Nextcloud sieht für partielle Uploads dieses Vorgehen vor: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/WebDAV/chunking.html.
Das funktioniert für mich auch ganz gut bis auf den letzten Schritt, in dem die Dateien zusammengebaut werden sollen. Die Pseudodatei ".file", die den Vorgang starten soll, wird dann nicht gefunden. Eventuell hat das auch wieder mit Implementierungsdetails der MagentaCLOUD zu tun.
Mit CardDAV/CalDAV gibt es keine Verwechslungsgefahr, da ich diese Protokolle gar nicht kannte. ;)
Ich werde jetzt einen eigenen Nextcloud-Server aufsetzen und das empfohlene Chunking einmal damit ausprobieren. Wenn es damit geht, liegt es an der MagentaCLOUD. Wenn es nicht gehen sollte, kriege ich irgendwas nicht auf die Reihe und muss weitersuchen.
Viele Grüße und danke für den Anstoß mit der Nextcloud
Marek
PS: Entschuldigt bitte den furchtbar formatierten Text. Der Editor verhält sich nicht ganz so, wie ich es erwarten würde ;)
Unlogged in user
Answer
from
23 days ago
Nur ein kurzer Nachtrag zur Nextcloud:
Es funktioniert auch mit einem Minimal-Ubuntu und einer Snap-Installation von Nextcloud mit Standardeinstellungen nicht. Es gibt beim Zusammenfügen der Dateien per MOVE-Befehl denselben Fehler wie bei der MagentaCLOUD (die vesteckte Datei .file wird nicht gefunden). Vielleicht ein Berechtigungsproblem, aber ich habe keine Lust mehr, mich damit zu beschäftigen.
Jetzt mache ich es ohne Cloud und sichere die Dateien, die das lokale Netzwerk verlassen sollen, per rsync über SSH. Das kann abgebrochene Uploads fortsetzen, wie ich es mir vorstelle (-append-verify).
Viele Grüße!
PS: Wie kriegst du es hin @CyberSW, dass deine Zitate so sauber formatiert werden? Wenn ich das versuche, sieht es bei mir aus wie der letzte Schlonz.
0
0
Unlogged in user
Ask
from