使用curl下载文件时如何保留远程文件名

发布于 2024-12-05 07:31:42 字数 857 浏览 1 评论 0原文

可能的重复:
如何保存文件使用带有 cURL 的响应头文件名

我需要下载格式为

http://oregondigital.org/cgi-bin/showfile.exe? CISOROOT=/baseball&CISOPTR=0

如果您将该链接粘贴到浏览器中,它会尝试下载名为 1.jp2 的文件,

我想使用curl 执行相同的操作。但是,当我运行

curl -I 'http://oregondigital .org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0'

文件名报告为 404.txt,您可以下载并查看它实际上是我想要的文件。我无法使用 -O 选项,因为分配给文件的名称不好,而且我出于技术原因需要系统上使用的实际名称。

如何让curl 下载我在浏览器中检索时没有问题的同一文件?谢谢。

Possible Duplicate:
How do I save a file using the response header filename with cURL

I need to download many thousands of images in the format

http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0

If you paste that link in a browser, it tries to download a file named 1.jp2

I want to use curl to do the same. However, when I run

curl -I 'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0'

the filename is reported as 404.txt which you can download and see that it is actually the file I want. I can't use the -O option because the name assigned to the file is no good, and I have technical reasons for needing the actual name used on the system.

How do I get curl to download the same file I have no trouble retrieving in my browser? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与他有关 2024-12-12 07:31:42

解决方案是使用-O -J

-O, --remote-name 将输出写入名为远程文件的文件  
-J, --remote-header-name 使用标头提供的文件名

所以...

curl  -O -J  'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0'

我必须升级我的 CURL。我的 v 7.19 不支持 -J 但 7.22 (最新的)支持。

The solution is to use -O -J

-O, --remote-name          Write output to a file named as the remote file  
-J, --remote-header-name   Use the header-provided filename

So...

curl  -O -J  'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=0'

I had to upgrade my CURL. I had v 7.19 which doesn't support -J but 7.22 (which is the latest) does.

眼眸里的快感 2024-12-12 07:31:42

您可以使用 -o 选项,可以吗?例如

 curl  'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=[0-9]' -o "#1.jpg"

You can use the -o option can you? eg

 curl  'http://oregondigital.org/cgi-bin/showfile.exe?CISOROOT=/baseball&CISOPTR=[0-9]' -o "#1.jpg"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文