我想從ftp web服務器上自動執行一些上傳/下載任務。當我通過客戶端連接到服務器,或者通過火狐甚至,爲了讓我的目錄,我必須指定這樣的路徑:爲什麼FTPWebRequest或WebRequest通常不接受/../路徑?
ftp://ftpserver.com/../AB00000/incoming/files
如果我嘗試訪問此:
ftp://ftpserver.com/AB00000/incoming/files
服務器拋出目錄不存在的錯誤。因此,這個問題:
我試圖與第一個FTP地址創建的FtpWebRequest,但它總是解析了「/../」部分,然後我的服務器表示,路徑不存在。
我已經試過這些:
Uri target = new Uri("ftp://ftpserver.com/../AB00000/incoming/files");
FtpWebRequest request = (FtpWebRequest)WebReqeuest.Create(target);
和
string target = "ftp://ftpserver.com/../AB00000/incoming/files";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
在第一位,路徑已經是不正確時,Uri對象實例化時,在第二位,它的後WebRequest.Create方法。任何想法發生了什麼?
編輯:
此外,由於我貼這個,我曾嘗試與沒有解析選項創建URI。我也嘗試過這樣的事情:
string ftpserver = "ftp://ftpserver.com/../";
string path = "12345/01/01/file.toupload";
Uri = new Uri(ftpserver, path, true);
,它始終解析出根部分(「/../」)。
試過了,它做了同樣的事情。 – scottm 2009-01-26 18:21:07
該字符串中的任何字符都不能混淆爲轉義字符,因此使其成爲垂直字符串不會產生任何影響。 – 2009-02-06 16:33:01