如果之前有人问过这个问题,如果这个问题很简单,我深表歉意。
我正在尝试使用命令行从 http 网站将文件下载到我的 unix 机器上。我使用用户名和密码登录到该网站。
说我有这个链接(不是工作链接) http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999
假设我将此链接粘贴到浏览器中,我会看到一个打开的框,询问我是否要保存它链接到的 zip 文件(比如 xyz.zip)。这些文件的大小约为 1GB。
我希望能够使用命令行将此 URL 包含的 zip 文件下载到我的 unix 机器上。我尝试将 wget 和 curl 与上述类型的 URL(提供用户名和密码)一起使用。我得到了 html 表单,但没有得到 zip 文件。有没有办法获取这种 URL 链接到的 zip 文件?我对文件所在机器上的目录结构一无所知。
谢谢你的帮助,
最佳答案
我猜你没有传递 Accept-Encoding header 。浏览器默认传递它,您必须使用 CLI 工具自己触发这些选项
我不知道 wget,但尝试使用 curl(-v 作为详细命令,以便您可以遵循请求/响应 header ):
curl -v "http://www.abcd.org/portal/ABCPortal/private/DataDownload.action?downloadFile=&workspace.id=4180&datasetId=76999"-H "Accept-Encoding: gzip">/tmp/你的ZippedFile.gz
如果上述情况并非如此,也许您可以提供一个实际示例,以便我们可以通过一个具体示例来解决您的问题。如果没有看到 HTTP 流量,很难说。
关于http - 使用 curl 或 wget 命令行下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3980839/