簡體   English   中英

如何使用 Cyberduck 憑據通過 Python 訪問 WebDAV

[英]How to use Cyberduck Credentials to Access WebDAV with Python

我以前從未使用過WebDav ,但我下載了Cyberduck並使用它連接到內部工作驅動器並將整個目錄下載到我的桌面。 但是,由於我無法確定的原因,我遇到了一些文件無法下載的隨機錯誤。 我相信這與網絡有關,而不是Cyberduck

我遇到的問題是Cyberduck沒有記錄錯誤,並且似乎沒有非常健壯的錯誤和異常處理。

我想通過 python 程序運行相同的過程,以便記錄錯誤。

但是,我嘗試過的庫無法連接。 我確定問題是用戶錯誤。

我試過easywebdavwebdavclient3 ,但我似乎無法復制連接。

對於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/...但也沒有運氣。 知道我做錯了什么嗎?

Cyberduck 入口

Cyberduck 似乎配置為使用 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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM