Re: How can I just get the output name?

Dan Fandrich via curl-users <[email protected]>
Newsgroups gmane.comp.web.curl.general
Message-ID <[email protected]>
On Tue, Mar 26, 2024 at 07:18:21AM -0700, ToddAndMargo via curl-users wrote:
> On 3/24/24 05:41, ToddAndMargo via curl-users wrote:
> > Firefox CliGet gives me this when I click on a particular
> > download link:
> > 
> > curl --header 'Host: dl.duosecurity.com'
> > ...
> > 'https://dl.duosecurity.com/duo-win-login-latest.exe'
> > --output 'duo-win-login-4.3.0.exe'
> > 
> > All I want is the "duo-win-login-4.3.0.exe" text.
> > Using cURL, is there a way to get?

This will do it:

  curl -sI -o /dev/null --write-out '%header{content-disposition}\n' \
    https://dl.duosecurity.com/duo-win-login-latest.exe | \
  sed -e 's/^.*="//' -e 's/".*$//'

This requests only the headers from the site and writes out just the
Content-Disposition: header, then strips off everything that's outside
quotation marks. You'd want a more robust header parser if you want to work it
to work reliably with any file name on any site, but it's likely good enough
for this one URL. You'll need a curl version at least 7.83.0 to get the %header
feature.

Dan
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-users
Etiquette:   https://curl.se/mail/etiquette.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.