我想在 Linux 上使用 Python 以编程方式从 SkyDrive 下载文件。
我无法使用 API,因为它是一个 OneNote 文件并且 the API can't be used to download these .
我的理解是 SD 支持 Webdav,并且有很多示例表明人们使用 davfs2 挂载了 SD 文件夹,但我只想能够在不挂载的情况下获取特定文件。
我可以使用 API 获取文档所有者的 cid,所以不需要 jump through any windows based hoops但我的 - 可能是蹩脚的,没有真正研究过 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 扩展。您是否尝试通过类似 urllib2 的方式使用简单的 HTTP GET 下载文件? ?
关于python - 在 Linux 上使用 Webdav 从 SkyDrive 获取文件 *无需* 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18752402/