Force wget to use actual filename
When using wget
in a script to download some files from Google Docs, the name of the file is not preserved. For example:
wget 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls'
saves the file as pub?key=pyj6tScZqmEfbZyl0qjbiRQ
instead of indicatorhivestimatedprevalence15-49.xls
, which is what I get if I click on the link in a browser. Is there any way to enforce this "browser-like" behaviour in wget
?
Solution 1:
wget --content-disposition 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls'
will do the trick for you.
Its still not fully implemented and seems to bug out a bit sometimes so its not the default option in wget
, use it at your own risk.
Solution 2:
You can try to use curl to download and keep original filename:
curl -OJL ${your_url}
- -O for remote-name
- -J for remote-header-name
- -L for location
see curl command line options.