Я пытаюсь автоматизировать некоторые задачи загрузки / выгрузки с веб-сервера ftp. Когда я подключаюсь к серверу через клиента или даже через Firefox, чтобы попасть в мой каталог, я должен указать путь, подобный этому:
ftp://ftpserver.com/../AB00000/incoming/files
Если я попытаюсь получить доступ к этому:
ftp://ftpserver.com/AB00000/incoming/files
Сервер выдает ошибку, что каталог не существует. Итак, проблема:
Я пытаюсь создать FTPWebRequest с первым адресом ftp, но он всегда анализирует часть "/../", а затем мой сервер говорит, что путь не существует.
Я пробовал это:
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. Есть идеи, что происходит?
EDIT:
Кроме того, с момента публикации я попытался создать URI с параметром no parse. Я также пробовал что-то вроде этого:
string ftpserver = "ftp://ftpserver.com/../";
string path = "12345/01/01/file.toupload";
Uri = new Uri(ftpserver, path, true);
И он всегда анализирует корневую часть ("/../").