2016-01-07 46 views
0

這裏是我的代碼:試圖另一臺機器上創建目錄,越來越例外

FtpWebRequest reqFTP = null; 
Stream ftpStream = null; 

string currentDir = string.Format("ftp://{0}", "10.10.10.46/E:/SERVER"); 
//string currentDir=string.Format("ftp://{0}","10.10.10.21/var/www/webdav/SERVER"); 


reqFTP = (FtpWebRequest)FtpWebRequest.Create(currentDir); 
reqFTP.Method = WebRequestMethods.Ftp.MakeDirectory; 
reqFTP.UseBinary = true; 
reqFTP.Credentials = new NetworkCredential("core", "c0relynx"); 
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); 
ftpStream = response.GetResponseStream(); 
ftpStream.Close(); 
response.Close(); 

每當我執行這個代碼,我得到的異常「系統錯誤」。

如果我使用url「10.10.10.21/var/www/webdav/SERVER」,我得到異常「遠程服務器返回錯誤:(530)未登錄」。

10.10.10.46是一個Windows PC和10.10.10.21有Ubuntu。

有誰能告訴我我哪裏出了問題,我該怎麼辦才能解決這個問題?

+0

[超級用戶](http://superuser.com/)對於這類問題可能是更好的選擇。看起來你有權限問題。 –

回答

0

你的代碼本身不是問題。這不是我通常做的事情,但它在我的測試平臺上適合我。問題很可能與服務器配置和/或憑證有關。

(530) Not logged in錯誤幾乎總是因爲您的憑據錯誤。通過使用標準FTP客戶端(如Filezilla)甚至Windows命令行ftp客戶端,檢查Ubuntu服務器的用戶名和密碼是否正確。

至於其他消息,它很可能是其他服務器返回的通用500響應。這有太多可能的原因,沒有足夠的信息。

我可以建議的唯一事情是再次嘗試在其他某個FTP客戶端中使用相同憑據的操作,以查看實際發生的情況。除非你熱衷於使用包跟蹤,並且對FTP協議有足夠的瞭解,以瞭解數據包告訴你什麼。

此時,您將不得不在FTP服務器上進行一些診斷,這超出了堆棧溢出的範圍。 superuser網站更適合這一點。

相關問題