我想在Linux上使用Python以编程方式从SkyDrive下载文件。
我无法使用 API,因为它是 OneNote 文件,并且 API 不能用于下载这些文件。
我的理解是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通过urllib2之类的东西下载文件?