【问题标题】:download files via terminal/cmdline through wetransfer.com通过 wetransfer.com 通过终端/cmdline 下载文件
【发布时间】:2013-02-04 10:09:06
【问题描述】:

越来越多的人通过 wetransfer 向我发送大 zip 文件,这很好 因为它有效,我不需要设置 ftp 或上传自己。 但我需要将这些数据发送到我的 ubuntu 服务器,该服务器位于快速连接上 在服务器场中。

我试图获取 wetransfer 通过邮件发送的链接, 但我只得到在 wetransfer 发送文件之前显示的 html 信息页面 通过http

我尝试了一个 txt 浏览器(lynx,elinks),但 wetrasnfer 一直在抱怨“过时的浏览器”,它不知何故不起作用

我最终下载到我的笔记本电脑并通过节流 DSL 上传到服务器 这需要整个晚上......

有人从linux终端下载wetransfer链接成功吗?

谢谢 市场

【问题讨论】:

  • 给我们一个链接。
  • 如果对你有用,请标记正确答案!

标签: wget


【解决方案1】:
  1. 首先,获取真正的下载链接。
  2. 使用您的浏览器(我使用的是 Firefox)点击 WeTransfer 下载页面上的“下载链接”。
  3. 下载开始后,右键单击正在下载的文件并选择“复制下载链接”。
  4. 找出浏览器的用户代理。您可以使用 whatsmyuseragent.com 来获取它。
  5. 准备 wget 命令并下载文件。

例子:

wget --user-agent Mozilla/4.0 '[your big address here]' -O dest_file_name

不要忘记引号。

[你的大地址]必须是文件的直接链接,而不是转发的html页面。您可以通过在任何机器上开始下载来获取大地址,然后从您的下载管理器中复制链接(例如 firefox、chrome)

【讨论】:

  • 不幸的是,此方法似乎不再有效,文件被重定向到包含以下消息的 HTML 页面:您正在使用 WeTransfer 不再支持的过时浏览器。即使使用现代的 UserAgent 字符串,它仍然会失败......
  • 它有效。你只需要获得真正的下载链接。使用 Firefox 点击 wetransfer 下载页面上的下载链接。下载开始后,右键单击下载,然后单击“复制下载链接”。转到 whatsmyuseragent.com 并获取您的浏览器用户代理。准备 wget 命令并下载文件。干杯
  • 为我工作。 '你的大地址'显然是wetransfer发送的浏览器下载链接,点击下载后,不是原来的http://we.tl/XXXXXXXXX地址。也许一些报告此答案对他们不起作用的评论者混淆了两者?我必须添加到 wget 行的一件事是 --no-check-certificate 开关,因为为相应的证书颁发了证书。服务器不被 wget 信任,所以我的最终命令看起来……喜欢:wget --user-agent Mozilla/4.0 --no-check-certificate 'https://wetransferbeta-eu.s3.amazonaws.com/...' -O archive.tbz2
  • 只需在浏览器控制台中打开网络选项卡,然后单击下载链接。然后单击下载按钮并从网络选项卡中复制获取请求 url。
  • 我不知道这是否有效--链接参数中传递了一个签名值。我试图从wetransfer.com/downloads/… wget --content-disposition --user-agent 'Mozilla/4.0' download.wetransfer.com/wetransfer-eu1/… 得到HTTP request sent, awaiting response... 400 Bad Request
【解决方案2】:

我无法让它与 wget 一起使用,所以这里有一个使用 curl 的替代方法:

curl '{pretty_long_appendix_here}' --location --output {file_name_on_my_disk}

替换

{pretty_long_appendix_here}

使用实际下载 url [以https://download.wetransfer.com/] 开头,您在实际开始下载时获得。

例如在 chrome 中开始下载并转到

窗口 > 下载

停止正在运行的下载并通过右键单击复制下载 URL。

替换

{file_name_on_my_disk}

使用您希望文件存储在磁盘上的实际名称。

【讨论】:

  • 这应该是公认的答案。截至 2019 年 8 月,它可以正常工作。
  • 2022 年 2 月工作。谢谢!
【解决方案3】:

Alejandro Alonso 写了一个 Python 脚本 py-wetransfer 用于在命令行模式下下载 wetransfer 文件。

使用类似于https://www.wetransfer.com/downloads/XXXX/YYYY/ZZZZ的我们传输地址,您可以执行以下命令下载文件:

python wetransfer.py -u https://www.wetransfer.com/downloads/XXXX/YYYY/ZZZZ

它需要 Python 和请求。

【讨论】:

【解决方案4】:

WeTransfer 确实提供了通过终端上传/下载文件的选项

[来源:https://wetransfer.com/products]

您必须从 here 下载 WTClient,适用于 Win、Mac 和 Linux。

尽管它有“调试模式”等有用的选项

只有 Plus 帐户才能下载。

真可惜!


自述文件

【讨论】:

  • 只能使用 Plus 帐户从 CLI 下载。
【解决方案5】:

我已经分叉并更新了 Alejandro Alonso 的 py-wetransfer 脚本的 Marcos' fork

它现在可以在 Python 2.x 或 3.x 上运行,并且可以处理缩短的链接。你可以在这里找到它:https://github.com/GaryWatsonUK/py-wetransfer/blob/master/wetransfer.py

(感谢您分享您的工作,伙计们!我从中学到了很多东西。)

【讨论】:

    【解决方案6】:

    解决方案在 2021 年 10 月生效。只需要 wget 和浏览器:

    1. 在任何现代浏览器中访问您的 wetransfer 链接 (https://wetransfer.com/downloads/)

    2. 打开开发者控制台/面板并前往网络标签

    1. 将网络速度设置为 3G(在 chrome 中,或浏览器中的最低速度)*

    1. 点击下载

    2. 在网络选项卡中,找到单击下载后立即创建的请求并检查它

    1. 在请求预览中,复制direct_link 内容

    1. 现在就做wget -o myfile 'your direct link'

    2. 您可以取消浏览器上仍在进行的下载,这样您就不会从 wetransfer 消耗那么多带宽

    *你应该降低你的标签速度,因为每个direct_link 都附有一个令牌。下载完成后,此令牌将过期。因此,您要确保在浏览器上的下载时间比在终端上的下载时间长。

    【讨论】:

      【解决方案7】:

      如果您没有终端访问权限,here's a PHP script 可以下载 WeTransfer 链接。

      当我不得不将文件下载到我的计算机上,然后将它们上传到服务器时,我用它来节省时间。

      【讨论】:

        猜你喜欢
        • 2018-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-17
        • 2023-04-04
        • 2021-05-13
        • 2016-07-08
        相关资源
        最近更新 更多