Solved
Hochladen per Kommandozeile: ValueError bei PATCH-Request per curl
2 months 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
9 months ago
76
0
1
2984
2
5
Popular tags last 7 days
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.
Accepted Solution
accepted by
2 months 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
from
2 months 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
from