Hello,
I had a similar problem in one of my own apps. As passwords often include special chars nowadays, it's interesting to note that, according to the RFC3986 :
authority = [ userinfo "@" ] host [ ":" port ]
userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded = "%" HEXDIG HEXDIG
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
So, to be able to use urls created by others that are compliant with this RFC, you should accept passwords containing
0-9
,
a-z
,
A-Z
, and also following chars
!$&'()*+,;=-._~:
as they are. BTW, it's the same for the user, except for
:
.
At the moment, in WinSCP, only
;
and
+
are not accepted as-is (we have to encode them :
%3B
and
%2B
).