我愿意
wget http://services.runescape.com/m=itemdb_rs/3809_obj_sprite.gif?id=2
Run Code Online (Sandbox Code Playgroud)
并下载以下文件:
3809_obj_sprite.gif?id=2
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它保存为以下内容?
2.png
Run Code Online (Sandbox Code Playgroud)
slh*_*hck 38
wget
选择这个名字?不幸的是,wget
除非您告诉它,否则不会对您要下载的内容做出任何假设。它并不关心您的文件是图像、文档、压缩文件等。
该文件将保存为 URL 结尾的任何内容 - 所以从最后一个斜杠到 URL 结尾的任何内容。在你的情况下,那就是.gif?id=2
。实际文件扩展名 ( .gif
)之后的部分包含在 URL 中,但它是一个HTTP 查询参数。wget
但是,对于,它将确定输出文件名。
如果要为 指定输出文件名wget
,请添加-O
(大写 O)选项:
wget example.com/something.gif?id=2 -O 2.gif
Run Code Online (Sandbox Code Playgroud)
这将覆盖默认行为并将文件名设置为2.gif
. 请注意,-o
(downcase) 选项指定任何日志消息的输出文件名,wget
否则可能会打印到 shell。
最后,还有一个--content-disposition
选项可能会导致设置正确的文件名。但这完全取决于您通过发送正确的标头信息下载的服务器:
此选项对于某些使用 Content-Disposition 标头来描述下载文件的名称的文件下载 CGI 程序很有用。
该选项目前仍标记为实验性,因此默认情况下未启用。
我强烈建议您阅读您使用的工具的联机帮助页以了解其行为。只需输入man wget
并通读它,尤其是它提供的选项。
另外,为了解决@Indrek 在对您的问题的评论中所写的内容:我假设您在那里有一个错字,并不是要将 GIF 文件下载到名为的文件中.png
——只是更改扩展名不会自动使其成为 PNG。GIF 和 PNG 使用不同的编码,您必须使用任何类型的图像转换工具在这些格式之间进行转换。但是,此转换将是无损的,因此以“错误”格式下载文件并稍后进行转换没有任何害处。
有命令行选项--content-disposition
- 如果网站提供正确的标题 - 应该使您的文件以正确的名称保存。
我的 debian 挤压框它说该选项是“实验性的”,但......
归档时间: |
|
查看次数: |
7251 次 |
最近记录: |