如果您在这里:
http://www.vim.org/scripts/script.php?script_id=2340
并尝试下载主题:
http://www.vim.org/scripts/download_script.php?src_id=9750
像这样:
wget http://www.vim.org/scripts/download_script.php?src_id=9750
您可能最终会得到一个名为
download_script.php?src_id=9750
的文件。但是我希望将其命名为
molokai.vim
,如果我使用浏览器下载该文件,将会发生这种情况这个文件。 我需要为wget指定什么选项以达到预期的效果?
我也可以使用Curl等效命令。
#1 楼
-O file
--output-document=file
文档不会被写入适当的文件,但是所有文件将被串联在一起并写入文件。
如果将
-
用作文件,则将打印文件到标准输出,禁用链接转换。 (使用./-
打印到字面上叫-.
的文件)所以,
wget -O somefile.extension http://www.vim.org/scripts/download_script.php?src_id=9750
或者您也许可以得到如果您的版本支持,请使用--content-disposition选项解决此问题。
wget --content-disposition http://www.vim.org/scripts/download_script.php?src_id=9750
根据手册页的说明
--content-disposition
如果将其设置为on,则启用对“ Content-Disposition”标头的实验性(非全功能)支持。当前,这可能会导致针对“ HEAD”请求的服务器额外往返,并且已知会遇到一些错误,这就是为什么默认情况下当前未启用它的原因。
此选项对于某些使用“ Content-Disposition”标头描述下载文件的名称的文件下载CGI程序很有用。
使用
wget
可以实现相同的自动化行为,使用curl -JLO http://www.vim.org/scripts/download_script.php?src_id=9750
使用远程名称,并且curl
强制-O
从内容处置标头而非URL中获取该名称,并且-J
遵循重定向如果需要。#2 楼
使用wget,您可以执行以下操作:wget --trust-server-names <url>
,使用服务器为您提供的最后一个文件名保存文件。
评论
我想知道--trust-server-names和--content-disposition有什么区别
–JamesTheAwesomeDude
2015年6月10日15:43
看起来--trust-server-names跟随重定向到另一个文件,而--content-disposition使用响应标头中指定的名称来命名该文件,而无需任何重定向。
–阿斯范·卡兹
15年7月6日在10:26
为什么没有此默认功能?!?!
–hopeseekr
16年5月8日在17:16
@hopeseekr如果您没有仔细观察,服务器可能很顽皮,请调用文件.bashrc。 listing.gnu.org/archive/html/bug-wget/2012-04/msg00059.html
–帕特里克·康海蒂
16-10-26在23:46
非常有帮助我正在下载某些东西,它的名字是没有任何证明的下载。好烦
– avijit bhattacharjee
20 Sep 25'3:09
#3 楼
您也可以使用aria2c-与Content-Disposition标头一起使用似乎很好。#4 楼
通过以下方法工作:curl -o molokai.vim http://www.vim.org/scripts/download_script.php?src_id=9750
wget -O somefile。扩展名http://www.vim.org/scripts/download_script.php?src_id=9750
(将大小写更改为较小,即(wget -O)变为(wget -o)
评论
我应该指定这需要自动进行
–audio.zoom
2011年6月23日12:05
据我了解,wget依赖于网页正确通知它URL是否指向文件,并且需要使用内容配置标头以不同的方式保存它,而wget可能支持也可能不完全支持。因此,您无法使用wget自动执行此操作。根据网页的不同,Curl可能会或多或少地获得成功。
– EightBitTony
2011年6月23日在12:08
啊哈-我错了,请参阅最新答案。这就是为什么stackexchange网站运行良好的原因-每个人都学到一些东西,甚至有人回答问题!
– EightBitTony
2011年6月23日12:20
添加了使curl起作用的curl参数。
– EightBitTony
2011年6月23日12:46
这对我来说适合stackexchange播客,这困扰了我一段时间。谢谢。
–理查德·坎贝尔
2011年10月5日在20:41