У меня есть код C # для связи с FTP-сервером, на котором отключена аутентификация (принимает любое имя пользователя и пароль):
Stream responseStream = null;
FtpWebRequest request = WebRequest.Create("ftp://" + at.IP + "/" + destFilePath) as FtpWebRequest;
request.Method = WebRequestMethods.Ftp.DeleteFile;
request.GetResponse();
responseStream.Close();
Когда я запускаю этот код в Windows без Mono, он работает. Когда я запускаю его в Unix, используя mono appName.exe
, он работает. Но когда я создаю приложение C ++, загружаю файл .dll
в MonoDomain и затем пытаюсь вызвать его, я получаю это (.NET v2.0.50727, MONO 2.6.4):
System.Net.WebException: Server returned an error: 530-User Access denied.
530-
530-Usage: USER username@hostname
530 PASS userpassword
at System.Net.FtpWebRequest.Authenticate () [0x00000] in <filename unknown>:0
at System.Net.FtpWebRequest.OpenControlConnection () [0x00000] in <filename unknown>:0
at System.Net.FtpWebRequest.ProcessMethod () [0x00000] in <filename unknown>:0
at System.Net.FtpWebRequest.ProcessRequest () [0x00000] in <filename unknown>:0
Что происходит? FTP-сервер доступен из командной строки Windows и Unix.