0

我以前从未使用过WebDav,但我下载了Cyber​​duck并使用它连接到内部工作驱动器并将整个目录下载到我的桌​​面。但是,由于我无法确定的原因,我遇到了一些文件无法下载的随机错误。我相信这与网络有关,而不是Cyber​​duck

我遇到的问题是Cyber​​duck没有记录错误,并且似乎没有非常健壮的错误和异常处理。

我想通过 python 程序运行相同的过程,以便记录错误。

但是,我尝试过的库无法连接。我确定问题是用户错误。

我试过easywebdavand webdavclient3,但我似乎无法复制连接。

因为easywebdav我试图模仿我为Cyber​​duck输入的信息(见下图),如下所示:

import easywebdav

webdav = easywebdav.connect(host='drive.corp.amazon.com', 
                            username='username', 
                            port=443, 
                            protocol='https', 
                            password='password')

print(webdav.ls())

但这不起作用。

而且我尝试将host论点更改为,https://username@drive.corp.amazon.com/mnt/...但也没有运气。知道我做错了什么吗?

Cyber​​duck 入口

4

1 回答 1

1

Cyber​​duck 似乎配置为使用 NTLM 身份验证,但默认情况下请求使用基本身份验证。

要使用 NTLM 身份验证连接到 WebDAV 服务器,您可以使用实现它的 3rd 方库,例如requests-ntlm

from webdav3.client import Client
from requests_ntlm import HttpNtlmAuth

options = {
 'webdav_hostname': "https://webdav.server.ru"
}

client = Client(options)
# Configure authentication method 
client.session.auth = HttpNtlmAuth('domain\\username','password')
于 2020-07-29T02:55:08.800 回答