Nicolas Duillier wrote: > Nico Golde <[email protected]> [Sat, 17 Jan 2009 19:28:15 +0100]: >> * Dmitry Baryshev <[email protected]> [2009-01-17 18:41]: >>> $ LC_ALL=C wget >>> [32]ftp://ftp.apnic.net/apnic/whois-data/APNIC/apnic.RPSL.db.gz >>> --2009-01-17 19:34:45-- >>> [33]ftp://ftp.apnic.net/apnic/whois-data/APNIC/apnic.RPSL.db.gz >>> => `apnic.RPSL.db.gz' >>> Resolving ftp.apnic.net... 202.12.29.20, 2001:dc0:2001:0:4608:20:: >>> Connecting to ftp.apnic.net|202.12.29.20|:21... connected. >>> Logging in as anonymous ... Logged in! >>> ==> SYST ... done. ==> PWD ... done. >>> ==> TYPE I ... done. ==> CWD /apnic/whois-data/APNIC ... >>> No such directory `apnic/whois-data/APNIC'. >>> >>> *** >>> >>> Opera 9.53 and Firefox 3.0.5 download this file Ok. >> Looks like wget doesn't follow symlinks. > > No. It's an oddball FTP server that accepts the command > "RETR /apnic/whois-data/APNIC/apnic.RPSL.db.gz" but rejects > "CWD /apnic/whois-data/APNIC". > > Upstream, why does wget do CWD and RETR when just a > RETR with the full pathname would suffice?
It's not terribly clear to me why Wget handles FTP in some of the ways it does. The answer is often that it was done to avoid problems with certain servers, whose workarounds may not always have been documented. However, the relevant RFCs on FTP URLs actually require that it be interpreted as a series of CWDs followed by a RETR, so if we were following RFC 1738, wget should be doing: CWD apnic CWD whois-data CWD APNIC RETR apnic.RPSL.db.gz (which would presumably run into the same problem). My preference would be to follow the RFC, and then if need be fall back to other approaches. The right way to form a URL for a circumstance like this is probably to encode the slashes as %2f, so that a single RETR may result. The following worked for me: wget ftp://ftp.apnic.net/apnic%2fwhois-data%2fAPNIC%2fapnic.RPSL.db.gz Oddly, apparently even doing a CWD and then a CWD back into / prevents the RETR command from working... it really is an oddball server. -- Micah J. Cowan Programmer, musician, typesetting enthusiast, gamer. Maintainer of GNU Wget and GNU Teseq http://micah.cowan.name/ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

