upload zu Webdav

Django, Flask, Bottle, WSGI, CGI…
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@egon11: ein minimales Maß an Selbstrecherche trau ich Dir zu, wie man eine weitere Option setzt.
Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@egon11: Lies Dir mal die Dokumentation durch. Das steht zum Beispiel im Text auf der Projektseite im Python Package Index. Die hast Du ja selbst in einem Beitrag weiter oben verlinkt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Sorry das hab ich übersehen.
Hier die Ausgabe mit "'verbose' = True"

Code: Alles auswählen

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/webdav/client.py", line 293, in check
    request.perform()
pycurl.error: (3, '<url> malformed')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/matze/ping/uload.py", line 8, in <module>
    a = client.check("prob/")
  File "/usr/local/lib/python3.5/dist-packages/webdav/client.py", line 303, in check
    raise NotConnection(self.webdav.hostname)
webdav.exceptions.NotConnection: Not connection with 
Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Da fehlt jetzt entweder etwas bei der Fehlermeldung oder Du hast tatsächlich einen leeren Hostnamen angegeben.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Ich hab schon den richtigen Hostnamen genommen. Wenn ich ihn kopiere und im Browser einfüge, dann komme ich ans Ziel.
Die Ausgabe wurde über Idle3 gemacht.
Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Aber in der Fehlermeldung steht kein Hostname, müsste er aber. Und wenn da keiner steht, dann hast Du ihn entweder doch nicht angegeben oder die Fehlermeldung nicht komplett kopiert. Auf jeden Fall scheint es daran zu scheitern das `pycurl` nichts mit der URL anfangen kann. Was durch einen leeren Hostnamen erklärbar wäre.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Jetzt hab ich den Fehler, ich hab ausversehen nochmal ne Option als Variable gesetzt.
So jetzt wird auch deutlich, dass der Fehler bei den SSL Zertifikaten hängt. Obwohl ich das genau so gemacht hab, wie es das Ubuntu wiki zeigt.

Hier der Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/webdav/client.py", line 293, in check
    request.perform()
pycurl.error: (35, 'error reading X.509 key or certificate file: Error while reading file.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/matze/ping/upload.py", line 12, in <module>
    a = client.check("prob/")
  File "/usr/local/lib/python3.5/dist-packages/webdav/client.py", line 303, in check
    raise NotConnection(self.webdav.hostname)
webdav.exceptions.NotConnection: Not connection with https://xxxxx.net:Port
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn ich jetzt nochmal Deine Versuche lese, sehe ich, dass Du ja den Private-Key angibst. Das ist Quatsch. Den darf nur der Server kennen, Du darfst nur als cert-Parameter eine pem-Datei angeben.
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Mhh ok, so steht es aber in dem HowTo.
:roll:
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Ein privater Schlüssel heißt deshalb `privat`, weil ihn niemand kennen sollte, außer der Server.
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Also werde ich es mit https lassen und mache es nur mit http.
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

Mir ist nicht ganz klar, wozu die zusätzlichen Parameter für die Zertifikate gut sein sollen. Das Zertifikat wird doch normalerweise von deinem Webdav-Server zur Verfügung gestellt. Diesen erreichst du via HTTPS (wenn dem auch so ist).

Wenn du den Webdav-Server kontaktierst, stellt er dir seinen Public-Key zur Verfügung, mit welchem du die Daten die du ihm übermittelst, verschlüsseln kannst. Er entschlüsselt dann deine Uploads mit seinem privaten Schlüssel.

Wenn du einen Webserver via HTTPS ansurfst, übermittelst du diesem ja auch keinen privaten Schlüssel von dir. Lass also die Optionen der Zertfikate einfach mal weg. Was passiert dann?
When we say computer, we mean the electronic computer.
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Wen ich mit HTTPS ausführe, dann kommt der Fehlerlog:

Code: Alles auswählen

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/webdav/client.py", line 293, in check
    request.perform()
pycurl.error: (60, 'server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/matze/ping/upload.py", line 9, in <module>
    a = client.check("/1/")
  File "/usr/local/lib/python3.5/dist-packages/webdav/client.py", line 303, in check
    raise NotConnection(self.webdav.hostname)
webdav.exceptions.NotConnection: Not connection with https://xxxxx.net:Port
>>> 

Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Was ist das denn für ein SSL-Zertifikat? curl scheint der CA nicht zu trauen, bzw. sie nicht zu kennen, die das ausgestellt hat.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
sls
User
Beiträge: 480
Registriert: Mittwoch 13. Mai 2015, 23:52
Wohnort: Country country = new Zealand();

@egon11: wie hast du das Zertifikat erstellt?
error reading X.509 key or certificate file: Error while reading file.
Ich gehe mal stark davon aus, dass deine selbstgenerierten Zertifikate kaputt sind.
When we say computer, we mean the electronic computer.
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Das ist ein selberstelltest zertifikat, was ich im winter gemacht hab.
Ich hab es 1:1 von ubuntu wiki (ssl- zertifikat erstellen). übernommen.
Der Browser meldet auch immer "diese seite ist unsicher...,
weiter zu https://xxxxx.net?".

Aber das soll, wenn man den key selbst generiert, normal sein.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Dann mußt Du entweder dieses Zertifikat beim Aufruf angeben, oder die Verifikation abschalten.
egon11
User
Beiträge: 354
Registriert: Mittwoch 14. Dezember 2016, 20:59

Sirius3 hat geschrieben: Donnerstag 7. Juni 2018, 12:16 Zertifikat beim Aufruf angeben, oder die Verifikation abschalten.
Was meinst du damit genau? Wo muss ich das angeben?
Antworten