snarf is invoked with any number of URLs and outfiles. If an outfile is not specified, snarf preserves
the remote file name when saving.
For example, snarfhttp://foo.bar.com/images/face.gif will retrieve the file ``face.gif'' to the local
system. In the event that there is no filename (the url ends in a slash), the data is retrieved and
stored in the file index.html for http URLs, ftpindex.txt for ftp URLs, or gopherindex.txt for gopher
URLs.
Using a dash, "-", as the outfile causes snarf to send its output to stdout rather than a file.
To log in to an ftp server or website that requires a username and password, use the syntax
http://username:password@site.com/. If you omit the password, you will be prompted for it.
Snarf has a built-in option to download the latest version of itself; simply run snarfLATEST.
OPTIONS-a Causes snarf to use "active" ftp. By default, snarf uses passive ftp, and, if the server does not
support it, falls back to active ftp. Using the -a option will avoid the initial passive attempt.
-r Resumes an interrupted ftp or http transfer by checking if there is a local file with the same
name as the remote file, and starting the transfer at the end of the local file and continuing
until finished. This option only works with HTTP servers that understand HTTP/1.1 and ftp servers
that support the REST command. snarf uses this option automatically if the outfile already exists.
-n Don't resume; ignore the outfile if it exists and re-transfer it in its entirety.
-q Don't print progress bars.
-p Forces printing of progress bars. Snarf has a compile-time option for whether progress bars print
by default or not. The -p option overrides the -q option. In addition, if progress bars are
enabled by default, snarf suppresses them when standard output is not a terminal. Using -p will
override this behavior.
-v Prints all messages that come from the server to stderr.
-z Send a user-agent string similar to what Netscape Navigator 4.0 uses.
-m Send a user-agent string similar to what Microsoft Internet Explorer uses.
Each option only affects the URL that immediately follows it. To have an option affect all URLs that
follow it, use an uppercase letter for the option, e.g. -Q instead of -q.