Ciao a tutti... Ho un piccolo problema con un piccolo interrogatore di Server che sto realizzando. Premetto che ho già guardato su tutti i possibili siti una possibile realizzazione, ho provato in tutti i modi, con le socket e qualsiasi altra cosa. Il tutto funziona con la porta 80 su qualsiasi normale sito internet (google ecc.). Se passo ad FTP invece... la risposta è sempre la stessa da qualsiasi sito ftp con cui provi a dialogare: "URI richiesto non valido per questo comando FTP".
Ho trovato un modo di procedere che riesce a far funzionare almeno il comando NLST (WebRequestMethods.Ftp.ListDirectory), il seguente:
L'host ho provato ad inserirlo nei seguenti modi:codice:WebRequest request = WebRequest.Create(host); ((FtpWebRequest)request).KeepAlive = false; ((FtpWebRequest)request).UseBinary = true; ((FtpWebRequest)request).UsePassive = false; request.Method = WriteFtpMethods(); //questa funzione restituisce un metodo fra quelli proposti dal framework (WebRequestMethods.Ftp.UploadFile, WebRequestMethods.Ftp.DownloadFile, WebRequestMethods.Ftp.ListDirectory, WebRequestMethods.Ftp.MakeDirectory ecc.) request.Credentials = new NetworkCredential(username, password); WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); byte[] buffer = new byte[20]; char[] line = new char[20]; StringBuilder builder = new StringBuilder(); int nByte = 0; while ((nByte = stream.Read(buffer, 0, 20)) != 0) { line = new char[20]; for (int i = 0; i < nByte; i++) { line[i] = (char)buffer[i]; } builder.Append(new string(line)); } stream.Close(); response.Close(); //.... scrittura del valore del builder ecc. ecc.
- ftp://ftp.host.it
- ftp.host.it
- ftp://ipaddress
- ipaddress
Ora mi domando, perchè NLST funziona, mentre gli altri comandi no?
![]()
Ovviamente username e password sono corretti, ho provato su più ftp ed è sempre la stessa identica storia! Non può essere il firewall, perchè con i client come CuteFTP funziona tutto!!
Quindi cosa può essere?
Ogni idea è ben accetta!
Grazie!!![]()

Rispondi quotando
