使用给定动态下载链接的 cURL 下载文章

使用给定动态下载链接的 cURL 下载文章

我正在尝试下载使用 发表的期刊文章cURL。它是开放访问的主页,因此任何人查看/下载该文章都应该没有问题。然后我提取pdfurl,它不断变化。

然后我尝试下载pdf:

curl -L -o test.pdf "http://www.sciencedirect.com/science/article/pii/S0378426612000817/pdfft?md5=6a85f34def09dd5cfb1d1b8feded0d51&pid=1-s2.0-S0378426612000817-main.pdf"

但它总是将我重定向到主页,然后将其下载为名为“test.pdf”的 html 页面。

答案1

curl似乎处理重定向的方式与wget默认情况下不同。直接下载 URL 会涉及一些重定向,并且还需要在第一次重定向后正确设置 HTTP Referer 标头(否则,您将得到一个 HTML 页面)。

首先需要在curlwith中启用位置重定向-L,然后curl在 with 中启用referer header的自动处理--referer ";auto",即

curl -L --referer ";auto" -o test.pdf URL-for-direct-download

答案2

相关内容