如何使用Cyberduck凭据使用Python访问WebDAV

2024-06-26 02:20:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我遇到的问题是,Cyberduck没有保留错误记录,并且似乎没有非常健壮的错误和异常处理

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

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

我尝试了^{}^{},但似乎无法复制连接

对于easywebdav我尝试模仿我为Cyberduck输入的信息(见下图),如下所示:

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/...,但也没有成功。知道我做错了什么吗

Cyberduck Entry


Tags: httpscomhostamazon错误记录usernamepassword
1条回答
网友
1楼 · 发布于 2024-06-26 02:20:17

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

要使用NTLM身份验证连接到WebDAV服务器,您可以使用实现该身份验证的第三方库,例如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')

相关问题 更多 >