WebClient訪問FTP伺服器時505錯誤
專案中需要訪問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")