From: Matthieu Moy Date: Tue, 29 Sep 2009 18:09:22 GMT Subject: Re: clone from url with email address as username?(escaping @ symbol) Message-ID: In-Reply-To: Daniel Stenberg writes: > On Tue, 29 Sep 2009, Matthieu Moy wrote: > >> Unfortunately, it seems the complete URL is passed to curl, and curl >> is the one doing it wrong. Indeed: >> >> $ curl -v https://user@email.com@server.com/path/ >> * getaddrinfo(3) failed for email.com@server.com:443 > > This is not exactly curl "doing it wrong". This is a user passing in > something that isn't a URL to the command that asks for a URL to work > on. The user part cannot legally have a '@' letter in a URL, you must > encode it. > >> In short, you have to use %40 to escape the @, and curl does it this >> way because the RFC doesn't allow @ in usernames. > > Exactly. So curl is not "wrong", it just can't work around this user-error. It may not want work around user-errors, but you can hardly say that it _can't_. Many tools do in this case, Firefox is one of them. And anyway, trying to connect to email.com@server.com is probably the worst thing it can do. At least, it could warn about two @ in the URL and say it can't handle it ... -- Matthieu Moy http://www-verimag.imag.fr/~moy/