Bonjour à tous,
je travaille actuellement à la réalisation d'un client FTP simple, qui devrait permettre d'uploader et télécharger des fichiers sur un serveur FTPS du client.
Pour réaliser ce client j'ai tenté plusieurs techniques :
- FTPWebRequest, en passant enableSSL à true, je parvient à me connecter mais lors de l'envoie de la commande ce dernier me retourne une erreur 500 : commande inconnue.
- J'ai donc essayer de passer par les sockets manuellement àfin d'envoyer mes commandes FTP au serveur, les commandes tels que USER, PASS, PWD, CWD, fonctionnent mais dès que j'essaie une commande PUT, j'ai l'erreur commande inconnu.
Quelqu'un aurait-il déjà rencontrer ce problème ou une piste de reflexion, car après avoir tenté énormément de techniques et écumé le web, je reste avec mon problème de commande inconnue ?
Voici le code que j'utilise pour le moment :
Merci d'avance, Florian.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertifications; FtpWebRequest upRequest = (FtpWebRequest)WebRequest.Create("ftp://ftps.xxx:990/test.txt"); upRequest.UsePassive = false; upRequest.Method = WebRequestMethods.Ftp.UploadFile; upRequest.EnableSsl = true; upRequest.Credentials = new NetworkCredential("xxx", "xxx"); upRequest.UseBinary = true; upRequest.Proxy = null; //pour les logs StreamReader sourceStream = new StreamReader(@"C:\test.txt"); byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); sourceStream.Close(); upRequest.ContentLength = fileContents.Length; Stream requestStream = null; try { requestStream = upRequest.GetRequestStream(); requestStream.Write(fileContents, 0, fileContents.Length); requestStream.Close(); FtpWebResponse response = (FtpWebResponse)upRequest.GetResponse(); response.Close(); } catch (Exception ex) { }
Partager