Erreur 501

lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010 - 3 janv. 2009 à 19:26
lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010 - 6 juil. 2009 à 17:04
bonjour,
c'est la première fois que je poste ici j'espère ne pas me tromper ..
donc mon probleme est que j'ai une fonction qui me permet de lister un dossier ftp le probleme c'est que la fonction marche tres bien les 2 premiere fois et à la troisieme je me retrouve avec une erreur 501.
ce que je ne comprends pas c'est que l'erreur 501 c'est une erreur de syntaxe dans les paramètres ou les arguments.

mais puisse que je ne change rien pourquoi j'ai une erreur que a la troisieme fois ??

le code de la fonction :
public TreeNode getFolder(string fold_url, string fold)
        {
            FtpWebRequest request;
            if (fold_url == "/")
                request = (FtpWebRequest)WebRequest.Create("ftp://" + hostname + fold_url);
            else
                request = (FtpWebRequest)WebRequest.Create("ftp://" + hostname + "/" + fold_url);
            request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            request.Credentials = new NetworkCredential(username, password);
           
            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
            Stream responseStream = response.GetResponseStream();
            byte[] list_byte = new byte[20000];

            int ret = responseStream.Read(list_byte, 0, 20000);
            responseStream.Close();
            response.Close();
            string[] split = new string[] { "\r\n" };
            string[] list_arr = Encoding.UTF8.GetString(list_byte).Split(split, StringSplitOptions.RemoveEmptyEntries);
            Regex regex = new Regex("\\w{3} \\d{2} ? [0-9:]{4,5} (.+)");
            int list_arr_len = list_arr.Length;
            TreeNode node = new TreeNode(fold);
            for (int i = 0; i < list_arr_len; i++)
            {
                if (list_arr[i].Substring(0, 1) == "d")
                {
                    Match groups = regex.Match(list_arr[i]);
                    string fold_name = groups.Groups[1].Value;
                    if ((fold_name != ".") && (fold_name != "..") && (fold_name != "") && (fold_name != "thumbs"))
                    {
                        node.Nodes.Add(getFolder(fold_url + fold_name + "/", fold_name));
                    }
                }

            }
            return node;
        }

et je l'appelle comme ça:
            TreeNode node = ftp.getFolder("/","/");

merci d'avance

3 réponses

lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010
6 janv. 2009 à 02:26
probleme résolu
je n'utilise plus la classe ftp de microsoft j'ai developper la mienne
0
_VAZ__ Messages postés 1 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 6 juillet 2009
6 juil. 2009 à 14:38
Peut-être que vous oubliez la ligne:
request.UsePassive = true ou false, selon votre serveur FTP
0
lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010
6 juil. 2009 à 17:04
merci beaucoup pour votre réponse

je vais tester très vite et je vous redis
0
Rejoignez-nous