我需要编写FTP上传程序。到目前为止没有问题但是我必须使用代理才能这样做。遗憾的是,它不是FTP代理,而是HTTP代理,因此我得到了典型的错误,即HTTP代理无法上传。为了解决这个问题,我尝试了典型的解决方法,ftp.Proxy
设置为null(VB中没有任何内容)。但后来我收到无法找到主机的错误消息。
所以我想知道我在那里做错了什么?或者我处于无法使用FtpWebRequest
的情况?
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create("ftp://ftp.targetserver.com/automaticUpload/test.txt");
ftp.Credentials = new NetworkCredential("myuser", "passwd");
ftp.UseBinary = true;
//ftp.Proxy = new WebProxy("proxy1");
ftp.Proxy = null;
ftp.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = File.OpenRead(@"C:\blah\blubb\blah\t1.txt.txt");
byte [] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpStream = ftp.GetRequestStream();
ftpStream.Write(buffer, 0, buffer.Length);
编辑: 因为看起来我得到的信息是有一个工作的解决方法是错误的。因此,其他问题的答案是完全正确的(仍然)没有办法用普通的c#。
来做到这一点