2011-04-25 96 views
2

我有C#代码去跟它禁用了身份验证的FTP服务器(需要的任何用户名和密码):MONO FTP客户端错误 - 530用户拒绝访问

Stream responseStream = null; 
FtpWebRequest request = WebRequest.Create("ftp://" + at.IP + "/" + destFilePath) as  FtpWebRequest; 
request.Method = WebRequestMethods.Ftp.DeleteFile; 
request.GetResponse(); 
responseStream.Close(); 

当我运行这段代码在Windows中不单声道,它的作品。当我使用mono appName.exe在unix中运行它时,它可以工作。但是,当我创建一个C++应用程序时,.dll文件加载到单畴,然后尝试调用它,我得到这个(.NET V2.0.50727,MONO 2.6.4):

System.Net.WebException: Server returned an error: 530-User Access denied. 
530- 
530-Usage: USER [email protected] 
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命令行访问。

+0

像Wireshark这样的网络记录器应该告诉你它们有什么区别。 – Foole 2011-04-26 01:02:10

回答

0

即使FTP服务器说它是开放的,你通常必须用[email protected]或类似的东西登录。