Using GNU Wget 1.9.1...
I read the source code used for escaping filenames before saving them to the disk in url.c, and it doesn't seem that it will escape the tilde ever. This however isn't the problem I'm experiencing. The problem is that HTTP standards allow for a tilde in a URL, and wget escapes it (resulting in %7E) before making the HTTP request.
Why is this such a problem? Well some webservers seem to hit you with a 302, replacing your %7E with a tilde. So, I see something like this happening:
~/piano$ wget http://www.pitt.edu/~deben/freebies.html --07:35:29-- http://www.pitt.edu/%7Edeben/freebies.html => `freebies.html' Resolving www.pitt.edu... 136.142.42.14 Connecting to www.pitt.edu[136.142.42.14]:80... connected. HTTP request sent, awaiting response... 302 Object Moved Location: http://www.pitt.edu/~deben/freebies.html [following] --07:35:29-- http://www.pitt.edu/%7Edeben/freebies.html => `freebies.html' Connecting to www.pitt.edu[136.142.42.14]:80... connected. HTTP request sent, awaiting response... 302 Object Moved Location: http://www.pitt.edu/~deben/freebies.html [following] --07:35:30-- http://www.pitt.edu/%7Edeben/freebies.html => `freebies.html' Connecting to www.pitt.edu[136.142.42.14]:80... connected. HTTP request sent, awaiting response... 302 Object Moved Location: http://www.pitt.edu/~deben/freebies.html [following] --07:35:30-- http://www.pitt.edu/%7Edeben/freebies.html => `freebies.html'
[i cut this part out because it was very long and redundant]
20 redirections exceeded. ~/piano$
So, you can see what the problem is! I'd have written a patch if I had found the code responsible for escaping URLs, but I didn't have a lot of time to look at it. Thanks for your help! I hope you can fix this problem easily enough!
