【问题标题】:How to download a file from owncloud with curl, wget如何使用 curl、wget 从 owncloud 下载文件
【发布时间】:2015-02-20 12:50:22
【问题描述】:

我在服务器上安装了owncloud!

如何使用 wget 或 curl 从控制台下载带有 WebUI 提供的链接的共享文件?

我尝试使用以下命令从控制台下载,但没有成功:

wget http://owncloud.example.com/public.php?service=files&t=par7fec5377a27f19654cd0e7623d883
wget http://owncloud.example.com/public.php?service=files&t=par7fec5377a27f19654cd0e7623d883

wget http://owncloud.example.com/public.php?service=files&t=par7fec5377a27f19654cd0e7623d883&download -O file.tar.gz
wget http://owncloud.example.com/public.php?service=files&t=par7fec5377a27f19654cd0e7623d883&download -O file.tar.gz

我可以从网络浏览器成功下载此文件。

我们使用了 Owncloud v. 7.0.4,设置了厨师食谱https://github.com/onddo/owncloud-cookbook

【问题讨论】:

  • “这不成功”是什么意思?你会得到什么样的错误/非预期行为?
  • 我的意思是我不能用这个命令从控制台下载。这不像 Dropbox 那样容易。

标签: curl wget owncloud


【解决方案1】:

要下载编号受密码保护的文件列表,请使用 Chrome 开发人员“复制为 cURL”功能 (http://www.lornajane.net/posts/2013/chrome-feature-copy-as-curl) 获取带有 cookie 的 cURL 命令,然后复制粘贴第一个文件名以编写下载脚本:

#!/bin/bash
for number in $(seq -w 37)
do
    curl -o "file.part0$number.zip" "<URL of first file including $number>" \
       -H parameters from "Copy as cURL"
done

【讨论】:

  • 非常感谢您提供该帖子的链接 - 我并没有真正使用您的脚本 :-)
  • “复制为 cURL”也对我有用,可以下载受密码保护的文件 :)
  • 不知道这个很棒的功能。非常感谢!
【解决方案2】:

像下面这样的东西对我有用。

wget --no-check-certificate "http://owncloud.example.com/public.php?service=files&t=par7fec5377a27f19654cd0e7623d883&download&path=//file.tar.gz"

注意下载链接周围的双引号。
URL 是来自 chrome 下载的“复制的下载链接”。

【讨论】:

    【解决方案3】:

    使用wget从公共链接owncloud下载

    $wget --no-check-certificate --content-disposition "https://owncloud/link"
    
    • --content-disposition(从请求的内容配置头中获取名称,从url中获取文件名)

    • --no-check-certificate(跳过证书错误)

    • -O file.name(指定新名称)

    卷曲

    $curl -J -O "https://link/path"
    
    • -J(使用远程头名称)

    • -O(使用远程名称)

    【讨论】:

    • 对我来说,curl -J -O "https://example.com/s/&lt;FUNNY_KEY_VALUE&gt;/download" 很有效。通过右键单击顶部框架右侧的Download 按钮复制链接,有效下载完整共享目录结构的内容。相反,您还可以通过右键单击文件名来获取单个文件的下载链接。我还没有找到一种方法来为文件夹结构中的一个目录获取这样的链接。
    • 我现在找到了一种只下载特定文件夹(但该文件夹中的所有文件)的方法:您可以获取任何包含文件的链接,然后删除从 &amp;files= 开始的所有内容以后。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2017-03-14
    相关资源
    最近更新 更多