我有 C# 代码可以与禁用身份验证的 FTP 服务器通信(采用任何用户名和密码):
Stream responseStream = null;
FtpWebRequest request = WebRequest.Create("ftp://" + at.IP + "/" + destFilePath) as FtpWebRequest;
request.Method = WebRequestMethods.Ftp.DeleteFile;
request.GetResponse();
responseStream.Close();
当我在没有 Mono 的 Windows 中运行此代码时,它可以正常工作。当我使用 mono appName.exe
在 unix 中运行它时,它可以工作。但是当我创建一个 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
这是怎么回事?可以从 Windows 和 unix 命令行访问 FTP 服务器。
最佳答案
即使 FTP 服务器显示其打开,您通常也必须使用 anonymous@anonymous.com 或类似的方式登录。
关于.net - MONO FTP 客户端错误 - 530 - 用户访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783718/