Reputation: 221
I have the code:
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(url);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.UseBinary = true; // Binary mode when downloading
request.Credentials = new NetworkCredential(user, password);
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
I always get the error: "The requested URI is invalid for this FTP command".
The problem is the url contains a "#". Since I can't stop people from creating that type of file, is there a way I can escape special characters and still process the file?
Upvotes: 5
Views: 5468
Reputation: 9891
You can use HttpUtility.UrlEncode
to encode the special characters.
Upvotes: 3
Reputation: 12680
Do a string replace with "#" ->"%23"
URL encodings shouldn't contain a hash because:
Some characters present the possibility of being misunderstood within URLs for various reasons. These characters should also always be encoded.
Upvotes: 7