如何在python
内部下载受密码保护的文件?
文件通过Owncloud
共享,Owncloud
设置密码保护访问
我知道它的工作与curl
使用:
curl -u "FileId:FilePw" -H 'X-Requested-With: XMLHttpRequest' "https://exampledomain.com/public.php/webdav/" >output_file
从共享链接中提取字段文件idFileId
。
有网页可以将curl
命令转换为许多不同的语言和模块-甚至可以转换为Python
和requests
-即。旋度转换器
import requests
headers = {
'X-Requested-With': 'XMLHttpRequest',
}
response = requests.get('https://exampledomain.com/public.php/webdav/',
headers=headers,
auth=('FileId', 'FilePw'))
只需将响应保存为二进制模式
with open('filename.ext', 'wb') as fh:
fh.write( response.content )
您可以将该命令嵌套到使用os模块的系统调用
system_object = os.system('your command')
或者fork一个新进程并使用子进程run
myProcess = subprocess.run()
requests模块允许你使用http命令
import requests
headers = {}
response = requests.method(params)
重要的部分是将对象变量分配给实例方法,以便您可以使用文件对象