使用 python 从 owncloud 下载受密码保护的文件

download password protected file from owncloud with python

如何在 python 中下载受密码保护的文件?

文件通过 Owncloud 共享,访问受 Owncloud 密码保护。

我知道它适用于 curl,方法是:

curl -u "FileId:FilePw" -H 'X-Requested-With: XMLHttpRequest' "https://exampledomain.com/public.php/webdav/" >output_file

字段文件 ID FileId 是从共享 link 中提取的。

有些网页可以将 curl 命令转换为许多不同的语言和模块 - 甚至是 Pythonrequests - 即。 Curl Converter

import requests

headers = {
    'X-Requested-With': 'XMLHttpRequest',
}

response = requests.get('https://exampledomain.com/public.php/webdav/', 
                        headers=headers, 
                        auth=('FileId', 'FilePw'))

而这里只需要以二进制方式保存response

with open('filename.ext', 'wb') as fh:
   fh.write( response.content )

您可以使用 os 模块将命令嵌套到系统调用中


system_object = os.system('your command')

或者分叉一个新进程并使用子进程运行


myProcess = subprocess.run()

请求模块允许您使用 http 命令


import requests
headers = {}
response = requests.method(params)

重要的部分是将对象变量分配给实例方法,以便您可以使用文件对象