[英]How to use Cyberduck Credentials to Access WebDAV with Python
我以前從未使用過WebDav ,但我下載了Cyberduck並使用它連接到內部工作驅動器並將整個目錄下載到我的桌面。 但是,由於我無法確定的原因,我遇到了一些文件無法下載的隨機錯誤。 我相信這與網絡有關,而不是Cyberduck 。
我遇到的問題是Cyberduck沒有記錄錯誤,並且似乎沒有非常健壯的錯誤和異常處理。
我想通過 python 程序運行相同的過程,以便記錄錯誤。
但是,我嘗試過的庫無法連接。 我確定問題是用戶錯誤。
我試過easywebdav
和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/...
但也沒有運氣。 知道我做錯了什么嗎?
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.