C# 正在尝试使用特殊字符FTP文件

C# 正在尝试使用特殊字符FTP文件,c#,ftp,C#,Ftp,我有密码: FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(url); request.Method = WebRequestMethods.Ftp.DownloadFile; request.UseBinary = true; // Binary mode when downloading request.Credentials = new NetworkCredential(user, password); FtpW

我有密码:

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();
我总是会收到错误:“请求的URI对此FTP命令无效”


问题是url包含一个“#”。既然我不能阻止人们创建这种类型的文件,那么有没有一种方法可以让我转义特殊字符并仍然处理该文件?

“#”->%23”

URL编码不应包含哈希,因为:

由于各种原因,一些字符可能在URL中被误解。这些字符也应始终进行编码


您可以使用对特殊字符进行编码。

您能提供一个示例url吗?谢谢Jean Bernard。我感觉好多了——听起来好像有解决办法。有人问上面的例子,想象一下文件名是“#test.txt”。有没有人有我需要逃跑的人物名单?提前谢谢,但是你应该看看B Tyler发布的函数,它可能正是你想要的,而不用担心哪个角色。B Tyler函数在哪里?太棒了。谢谢你们两位。我发誓我没有看到这个答案我想指出的是,由于我有一个控制台应用程序,我需要将“目标框架:”从“.NET framework 4客户端配置文件”更改为“.NET framework 4”。这是我将System.Web添加到引用中的唯一方法。一旦我得到了范围内的功能,它的工作非常好。再次感谢B泰勒和Jean Bernard Pellerin。