NAME¶
snarf - Simple Non-interactive All-purpose Resource Fetcher
SYNOPSIS¶
snarf [
-avqprzm]
URL [
outfile]
...
DESCRIPTION¶
Retrieves data from a variety of protocols, namely
http,
ftp, and
gopher.
USAGE¶
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,
snarf http://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
snarf LATEST.
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.
ENVIRONMENT¶
Snarf checks several environment variables when deciding what to use for a
proxy. It checks a service-specific variable first, then
SNARF_PROXY,
then
PROXY.
The service-specific variables are
HTTP_PROXY,
FTP_PROXY, and
GOPHER_PROXY.
Snarf also checks the
SNARF_HTTP_USER_AGENT environment variable and will
use it when reporting its user-agent string to an HTTP server. In the same
spirit, it also uses the
SNARF_HTTP_REFERER environment variable to
spoof a Referer to the web server.
BUGS¶
Bugs? What bugs? If you find 'em, report 'em.
AUTHOR¶
Copyright (C) 2000 Zachary Beane (xach@xach.com)