开始使用davlib.py

时间:2012-07-26 13:44:46

标签: python webdav

我想编写一个脚本来连接和访问webdav服务器。我发现有一个

/usr/local/lib/python2.7/dist-packages/davlib.py

但如何使用它?没有教程,没有文档,谷歌也没有。有人能为它写一个小小的hello世界吗?

测试的webdav服务器位于localhost:80/webdav,并且内部有davtest.txtdav文件。

$ cd <path_to_webdav>
$ ls
davtest.txt
$ cat davtest.txt
dav

我可以阅读python,所以如果我能连接并读取有一个名为davtest.txt的文件,或者甚至是内容,我想我可以开始使用源代码了。不知道webDAV是如何工作的,并且不知道davlib.py两者在一起是非常困难的。

2 个答案:

答案 0 :(得分:1)

使用webdav-lib我可以解决这个问题:

    url = "davs://localhost:80/webdav/davtest.txt"   
    r = ResourceStorer(url)
    result = r.downloadContent().read()

答案 1 :(得分:0)

使用davlib

执行简单的get请求
import davlib
import base64

host = 'myhost'
protocol = 'myprotocol'
username = 'myusername'
password = 'mypassword'

url = '{}://{}/{}'.format(protocol, host, some_file_path)
d = davlib.DAV(protocol=myprotocol, host=myhost)
auth_token = base64.encodestring('%s:%s' %(username, password)).strip()
header = {"Authenication": "Basic %s' %auth_token}

d.get(url,header)

基本身份验证仅适用于https。有关webDAV的更多(干)详细信息,请参阅RFC

我发现最成熟的webDAV客户端库是python-webdav-library