如何使用 CLI 下载 CGI 请求的文件?

如何使用 CLI 下载 CGI 请求的文件?

我想从在线课程下载 mp3 文件。但该文件位于 CGI 重定向后面。URL 为:“http://openmedia.yale.edu/cgi-bin/open_yale/media_downloader.cgi?file=/courses/fall08/chem125/mp3/chem125_01_090308.mp3

wget 返回“没有可供下载的文件”。我尝试了curl -Lwget --trust-server-nameswget -content-disposition

答案1

您需要进一步了解 CGI 的作用。如果我从 SuperUser 单击该链接,我会收到相同的消息。问题不在于 CLI 本身,而是因为 CGI 检测到您正在直接访问文件,并且已将其设置为阻止此操作(无论如何,这是我的猜测)。尝试使用该wget --referer选项设置 referer。如果这不起作用,只需不断迭代使 wget 与您的浏览器更加“相同”,即添加用户代理等等。

注意:我假设此文件不在您需要登录的某种系统后面。如果是,您可能需要查看一个小的 Python 脚本(或类似脚本)来实现这一点,尽管如果您不擅长编写脚本,也可以使用一些工具。

注意:根据网站的服务条款和文件分发的许可证,您所做的可能不合法。

相关内容