强制wget使用实际文件名
在脚本中使用wget
从Google文档下载某些文件时,不会保留该文件的名称。 例如:
wget 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls'
将文件保存为pub?key=pyj6tScZqmEfbZyl0qjbiRQ
而不是indicatorhivestimatedprevalence15-49.xls
,如果我点击浏览器中的链接,这就是我得到的。 有没有办法在wget
强制执行这种“类似浏览器”的行为?
wget --content-disposition 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls'
会为你做的伎俩。
它仍然没有完全实现,似乎有时会wget
,所以它不是wget
的默认选项,使用它需要您自担风险。
Google Docs链接实际上是告诉服务器上的脚本运行,将其解析为您想要的文件。 据我所知,该文件在els表单中不存在于服务器上,但是在您要求时在运行时生成。 因此,没有任何东西可以获得。
要下载该文件,您需要使用google API http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#DownloadingDocs/ 。
您可以尝试使用curl下载并保留原始文件名:
curl -OJL ${your_url}
- -O表示远程名称
- -J表示remote-header-name
- -L的位置
请参阅curl命令行选项 。