Python 在Linux上使用Webdav从SkyDrive*获取文件,无需*装载

Python 在Linux上使用Webdav从SkyDrive*获取文件,无需*装载,python,linux,webdav,onedrive,Python,Linux,Webdav,Onedrive,我想在Linux上使用Python以编程方式从SkyDrive下载一个文件 我无法使用API,因为它是OneNote文件和 我的理解是,SD支持Webdav,有很多例子表明,人们使用davfs2挂载了SD文件夹,但我只希望能够在不挂载的情况下获取特定文件 我可以使用API来获取文档所有者的cid,所以不需要,但我(可能是跛脚的,还没有真正研究webdav)下载文件的努力总是会出错 例如,使用easywebdav: import easywebdav webdav = easywebdav.con

我想在Linux上使用Python以编程方式从SkyDrive下载一个文件

我无法使用API,因为它是OneNote文件和

我的理解是,SD支持Webdav,有很多例子表明,人们使用davfs2挂载了SD文件夹,但我只希望能够在不挂载的情况下获取特定文件

我可以使用API来获取文档所有者的cid,所以不需要,但我(可能是跛脚的,还没有真正研究webdav)下载文件的努力总是会出错

例如,使用easywebdav:

import easywebdav
webdav = easywebdav.connect("d.docs.live.net/mycid")

webdav.download('me/skydrive/Documents/Getting\ Started', '/tmp/foo')
#this gives the 302 error mentioned in the comments at the end of the the 'jumping through windows hoops' link I posted above.
对于我提到的重定向问题,是否有解决方法


我是否有这个错误?当访问webdav共享上的文件时,将其作为文件系统装载是有意义的,而且确实是必要的?

如果您正在下载特定文件,并且已经知道该文件的确切路径/URL(根据您的示例),我不确定您是否真的需要担心DAV扩展名。您是否尝试过使用简单的HTTP GET下载该文件,例如?

有用,谢谢。使用API urllib2可以从文档元数据中读取的链接实际上下载了一些东西。不幸的是,它不是文件(但这是与Skydrive如何处理Skydrive文档相关的另一个问题)。我希望使用Webdav它实际上可能会给我目标文件,而不是文件的占位符。我想我将修补尸体,看看是否可以使用CLI获得它。