I'm trying to connect to a owncloud
instance with python. I've found easywebdav
that should make it easy to connect via webdav, but when trying to connect I'm getting "404 Not Found"
import easywebdav webdav = easywebdav.connect('test.org/owncloud/remote.php/webdav/', username='user', password='pass', protocol='https', port=443, verify_ssl=False) print webdav.ls(".")
I would expect a list of files found on my owncloud instance, but I'm getting
python ./test.py Traceback (most recent call last): File "./test.py", line 8, in <module> print webdav.ls(".") File "/usr/lib/python2.7/site-packages/easywebdav-1.0.7-py2.7.egg/easywebdav/client.py", line 131, in ls response = self._send('PROPFIND', remote_path, (207, 301), headers=headers) File "/usr/lib/python2.7/site-packages/easywebdav-1.0.7-py2.7.egg/easywebdav/client.py", line 81, in _send raise OperationFailed(method, path, expected_code, response.status_code) easywebdav.client.OperationFailed: Failed to list directory ".". Operation : PROPFIND . Expected code : 207 UNKNOWN, 301 Moved Permanently Actual code : 404 Not Found
What I find weird, is that if I connect to a invalid path, with
webdav = easywebdav.connect('test.org/owncloud-not-existent/', ......)
I get
Traceback (most recent call last): File "./test.py", line 8, in <module> print webdav.ls(".") File "/usr/lib/python2.7/site-packages/easywebdav-1.0.7-py2.7.egg/easywebdav/client.py", line 131, in ls response = self._send('PROPFIND', remote_path, (207, 301), headers=headers) File "/usr/lib/python2.7/site-packages/easywebdav-1.0.7-py2.7.egg/easywebdav/client.py", line 81, in _send raise OperationFailed(method, path, expected_code, response.status_code) easywebdav.client.OperationFailed: Failed to list directory ".". Operation : PROPFIND . Expected code : 207 UNKNOWN, 301 Moved Permanently Actual code : 405 Method Not Allowed