Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 如何在c中使用代理从FTP中删除文件#_C# 4.0_Ftp_Http Proxy - Fatal编程技术网

C# 4.0 如何在c中使用代理从FTP中删除文件#

C# 4.0 如何在c中使用代理从FTP中删除文件#,c#-4.0,ftp,http-proxy,C# 4.0,Ftp,Http Proxy,我的项目有一些问题。我想使用代理从ftp中删除我的文件 我的代码是: FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + FtpServerName + FtpFilePath); request.Method = WebRequestMethods.Ftp.DeleteFile; request.Proxy =

我的项目有一些问题。我想使用代理从ftp中删除我的文件

我的代码是:

                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + FtpServerName + FtpFilePath);
                request.Method = WebRequestMethods.Ftp.DeleteFile;


                request.Proxy = new WebProxy(ProxyAddress);
                request.Proxy.Credentials = new NetworkCredential(ProxyUserName,     ProxyPassword);

                request.Credentials = new NetworkCredential(FTPUserName, FTPPassword);
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
在这种情况下,我得到的错误如下: 使用http代理时不支持请求的FTP命令

谁能帮帮我吗

提前感谢

来自:

关于在FTPWebRequest上使用Http代理的注意事项:Http代理仅支持有限数量的ftp方法(主要用于下载文件),因此,如果您的计算机上有代理的IE设置,则需要显式地将FTPWebRequest设置为不使用代理,如下所示

request.Proxy=GlobalProxySelection.GetEmptyWebProxy()


如果要通过代理执行其他FTP操作,则必须找到另一个支持该操作的FTP组件。

而不是
request.proxy=GlobalProxySelection.GetEmptyWebProxy()

尝试
request.Proxy=WebRequest.DefaultWebProxy

下面的演示代码对我来说非常有效:

var request = (FtpWebRequest)WebRequest.Create(new Uri("ftp://99.999.99.99/TextFile1.txt"));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("ftp_user", "ftp_pass"); // it's FTP credentials, not proxy
request.Proxy = WebRequest.DefaultWebProxy;

var sourceStream = new StreamReader("TextFile1.txt");
byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
sourceStream.Close();
request.ContentLength = fileContents.Length;

Stream requestStream = request.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();

var response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();

请尽快回复。非常紧急。您的代码显示了在启动代理之前的文件删除尝试。也许你应该向我们展示工作代码,显示你可以连接代理和查看文件,并检查你想要的文件是否在那里,然后再尝试删除它。我也尝试了该选项。但我仍然收到相同的错误尝试了什么?我想看看你用来通过代理检查目录列表的代码,显示你可以与它建立正确的连接,然后担心删除文件。。