我尝试使用curl
下载 PDF 到我的驱动器。但是,生成的文件只有 210 字节,无法打开!
curl -O 'https://www.wisdomtree.eu/en-ie/-/media/eu-media-files/key-documents/kids/etf-securities/kid---de000a1rx996---wisdomtree-physical-gold---eur-daily-hedged---en.pdf'
当我使用 Google Chrome 下载 PDF 时,实际生成的文件为 240 Kb,并且可以成功打开。
似乎curl
只获取了一些元数据 – 而不是整个 PDF:
<html>
<head>
<META NAME="robots" CONTENT="noindex,nofollow">
<script src="/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3">
</script>
<body>
</body></html>%
我尝试用一些变体来解决这个问题,包括curl -O -J -L
和一些其他的东西,我也尝试过wget
——但我似乎总是遇到同样的问题。
(我假设服务器可能正在对 blob URL、流式传输或重定向执行某些操作,但我不确定如何处理这些问题)。
答案1
看完这个之后建议在 Unix & Linux Stack Exchange 上,我可以从 Google Chrome 的查看 > 开发者 > 开发者工具 > 网络选项卡,方法是在打开“网络”选项卡的情况下重新加载 URL,然后右键单击.pdf
文件列表中出现的文件,然后选择复制 > 复制为 cURL。
复制的cURL命令包含几个选项,但我发现服务器似乎只需要添加选项-H 'cookie: <cookie data here>'
。
curl -H 'cookie: <cookie data here>' -O 'https://www.wisdomtree.eu/en-ie/-/media/eu-media-files/key-documents/kids/etf-securities/kid---de000a1rx996---wisdomtree-physical-gold---eur-daily-hedged---en.pdf'
我假设这需要我先浏览网站并实际获取会话 cookie。我不确定如果没有它是否可以完成检索。