项目中需要访问ftp,采用WebClient访问,方式如下:
try
{
var client = new WebClient();
client.Credentials = new NetworkCredential("username", "password");
var data = client.DownloadString("ftp://1.1.1.1:23232/var/www/html/b.txt");
Console.WriteLine(data);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
总是报错:远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)。
网上查找资料,试了很多方案都不行,使用filezilla可以正常访问。
最终发现,ftp服务器配置的ftp目录为/var/www/html,所以访问”ftp://1.1.1.1:23232“,就相当于访问了”ftp://1.1.1.1:23232/var/www/html“
所以在代码中,访问路径应该变为:
var data = client.DownloadString(("ftp://1.1.1.1:23232/b.txt")