2011-04-27 12 views
10

Dodałem następujący kod w mojej aplikacji .NET C# w Visual Studio 2010Żądany URI jest nieprawidłowy dla tego polecenia FTP

WebRequest request = WebRequest.Create("ftp://myftp.com"); 
      request.Method = WebRequestMethods.Ftp.MakeDirectory; 
      request.Credentials = new NetworkCredential("myusername", "12344"); 
      using (var resp = (FtpWebResponse)request.GetResponse()) 
      { 
       Console.WriteLine(resp.StatusCode); 
      } 

Ale otrzymuję następujący błąd.

The requested URI is invalid for this FTP command. 

Proszę zaproponować rozwiązanie. Dzięki

Odpowiedz

11

Jeśli chcesz tylko sprawdzić informacje o pliku należy spróbować zmienić request.Method do WebRequestMethods.Ftp.ListDirectoryDetails zamiast:

WebRequest request = WebRequest.Create("ftp://myftp.com"); 
     request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; 
     request.Credentials = new NetworkCredential("myusername", "12344"); 
     using (var resp = (FtpWebResponse)request.GetResponse()) 
     { 
      Console.WriteLine(resp.StatusCode); 
     } 
+0

Cześć, potrzebowałem tylko che ck połączenie FTP, przyszedł ten link. Działa GREAT dla mnie .... dzięki skeryl i DotnetSparrow. :) – Bravo

1

Musisz podać podkatalog, który chcesz utworzyć; nie można utworzyć katalogu głównego, który jest tym, co wydaje się próbować wykonać. Stąd błąd.

+0

Chcę tylko połączyć się z FTP i zobaczyć, które pliki znajdują się w katalogu na ftp – DotnetSparrow

8

Uri powinny być ftp: // + IP lub ftpServerName +/Folder_to_create_Name

więc zobaczyć podążaj za kodem:

WebRequest request = WebRequest.Create("ftp://myftp.com/FOLDER_TO_CREATE/"); 
request.Method = WebRequestMethods.Ftp.MakeDirectory; 
request.Credentials = new NetworkCredential("myusername", "12344"); 

using (var resp = (FtpWebResponse)request.GetResponse()) 
{ 
     Console.WriteLine(resp.StatusCode); 
} 
Powiązane problemy