fetch / wget problem

Toomas Aas toomas.aas at raad.tartu.ee
Tue Dec 16 10:38:34 PST 2003


I'm trying to write a script which gets a file from remote FTP server.

The FTP username contains dots and this cannot be changed.

There are two firewalls involved, one running on the same server where 
I'm doing this (ipfilter, using ipnat ftp proxy) and one between this 
server and the FTP server. The FTP server itself is in internal network 
using RFC1918 addresses and a port in firewall is being forwarded to 
this server.

I think that firewalls are configured correctly, because I can 
successfully get the file manually, using the 'ftp' command. 

However, when I try this command:

fetch ftp://user.name:password@server.mydomain.com/directory/file.ext

I get an error message: 
fetch: ftp://user.name:password@server.mydomain.com/directory/file.ext:
Host not found.

I suspect that fetch, seeing a dot in username, attempts to 'resolve' 
the entire URL, instead of just the part after @. Is there a known 
workaround to this?

I also tried wget, which succeeds to connect, but then, no matter what 
I do, insists on using passive mode. 

wget ftp://user.name:password@server.mydomain.com/directory/file.ext
Connecting to server.mydomain.com[]:2100... connected.
Logging in as user.name ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD /directory ... done.
==> PASV ... 
and then the process just hangs.

I suspect it would work if I could somehow tell wget to NOT use passive 
mode. I initially had FTP_PASSIVE_MODE environment variable set, but 
removing this didn't affect wget's behaviour.

Any ideas?
Toomas Aas | toomas.aas at raad.tartu.ee | http://www.raad.tartu.ee/~toomas/
* RUNTIME ERROR 6D at 417A:32CF : Incompetent user

More information about the freebsd-questions mailing list