【问题标题】:How can I bypass license agreement page when trying to wget a package? [closed]尝试 wget 包时如何绕过许可协议页面? [关闭]
【发布时间】:2020-04-11 13:21:23
【问题描述】:

我需要通过命令行下载一个包,但该页面强制您按下接受许可按钮来开始下载。有没有办法通过 wget 或 curl 来解决这个要求?

https://bintray.com/jfrog/xray/download_file?file_path=xray-centos-2.11.0.tar.gz

【问题讨论】:

  • 您需要模拟 ACCEPT 按钮的 JavaScript 功能。看起来它发送了一个 AJAX 请求,该请求发送回一个 cookie 或令牌,然后在下载文件时将其包含在内。

标签: linux curl wget


【解决方案1】:

只需在 URL 中添加参数“agree=true”即可。

wget "https://bintray.com/jfrog/xray/download_file?agree=true&file_path=xray-centos-2.11.0.tar.gz"

【讨论】:

  • 干得好!你是怎么找到这个的? (+1)
  • 这很容易。效果很好,谢谢!
  • @GillesQuenot 将鼠标悬停在接受按钮上以查看它指向的链接。那就试试看是不是真的够加参数了;-)
  • 这对你来说很容易,对我们来说不是;)
【解决方案2】:

即使在 akamai 上找到the real URL 下载文件,生成正确的REQUEST_URI 似乎也很复杂,因为exp 参数中有一个EPOCH 时间,如果你修改它,它会返回一个@987654328 @。

就像Barmar 在 cmets 中所说的那样,要弄清楚如何请求文件,您必须了解页面上的 javascript 是做什么的并以编程方式进行。

最简单的解决方案(除非你成功地按照我的解释进行操作)是使用 进行编码以模仿人类的行为:单击按钮等...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多