Gelöst
Hochladen per Kommandozeile: ValueError bei PATCH-Request per curl
vor 29 Tagen
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
Das könnte Ihnen auch weiterhelfen
vor 4 Jahren
311
1
1
vor 8 Monaten
76
0
1
2983
2
5
Das könnte Sie auch interessieren
Kaufberatung anfragen
Füllen Sie schnell und unkompliziert unser Online-Kontaktformular aus, damit wir sie zeitnah persönlich beraten können.
Angebote anzeigen
Informieren Sie sich über unsere aktuellen MagentaCLOUD-Angebote.
Akzeptierte Lösung
akzeptiert von
vor 29 Tagen
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
Antwort
von
vor 29 Tagen
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 ;)
Uneingeloggter Nutzer
Antwort
von