Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1229 connectés 

  FORUM HardWare.fr
  Programmation

  [C] Problème client FTP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Problème client FTP

n°93842
nicmic
Posté le 27-01-2002 à 12:43:56  profilanswer
 

Bonjour,
Voici une partie du code de mon prog. C'est un client qui communique avec un serveur ftp. Ici juste la procédure pour envoyer les commande USER et PASS au serveur.
Aucun problème lors de l'envoie de USER mais pb pour le PASS...
Quelqu'un pourrait-il m'aider.
Merci
 
 
void seLogger (int sock)
{
    char tampon [256];
    char tamp [256];
     
    /* récupère le login de l'utilisateur */
    printf("Entrez votre login \n" );
    /* envoi du login */
    lire(tampon);
    bzero(tamp, sizeof(tamp));
    strcat(tamp, "USER " );
    strcat (tamp, tampon);  
    if ( write ( sock ,tamp , strlen ( tamp )) < strlen ( tamp ))
 {
  perror("Ecriture" );
  exit(6);
 }
    /* récupère la réponse du serveur */
    /* remise à zéro du tampon */
 bzero(tampon, sizeof(tampon));
 if (read ( sock, tampon, sizeof(tampon)) <= 0 )
 {
  perror("lecture" );
  exit(7);
 }
    printf("%s\n", tampon);
 if (( tampon[0] == '3' ) && ( tampon[1] == '3' ) && ( tampon [2] =='1';))
    {
        printf("Voter mot de pass est requis, veuillez le rentrer : \n" );
    }
    /* récupère le pass de l'utilisateur */
    printf("Entrez votre mot de passe \n" );
    /* envoi du mot de pass */
    /* l'utilisateur doit rentrer "PASS motdepasse"*/
    lire(tamp);
    if ( write ( sock ,tamp , strlen ( tamp)) < strlen ( tamp))
 {
  perror("Ecriture" );
  exit(6);
 }
 /* remise à zéro du tampon */
 bzero(tampon, sizeof(tampon));
 if (read ( sock, tampon, sizeof(tampon)) <= 0 )
 {
  perror("lecture" );
  exit(7);
 }
 printf("%s\n","Réponse du serveur" );
 printf("%s\n", tampon);
     
}
/* besoin de finir la chaine par CR LF*/
void lire(char * tampon)
{
    fgets(tampon,256,stdin);
    tampon[strlen(tampon)] = '\r';
    tampon[strlen(tampon)+1] = '\n';
}

mood
Publicité
Posté le 27-01-2002 à 12:43:56  profilanswer
 

n°93845
chrisbk
-
Posté le 27-01-2002 à 13:00:37  profilanswer
 

sans avoir lu ton code, il serait charmant de dire quel est le pb

n°93847
nicmic
Posté le 27-01-2002 à 13:03:33  profilanswer
 

Exact,
le pb est que lorsque j'envoie la chaine de caractère au sreveur ftp il me renvoie :
530 Please login with USER and PASS
pourtant le user marche bien ( il me renvoie ok, besoin d'un mot de pase maintenant...) Donc, je sais pas trop quoi faire...
Merci

n°93853
youdontcar​e
Posté le 27-01-2002 à 13:13:33  profilanswer
 

tu lis l'input de l'utilisateur dans tampon, qui n'est pas initialisé. ok, fgets() te sort une chaine terminée par \0. MAIS tu remplaces ça par \r\n ... sans rajouter le \0. résultat on se demande ce qu'il envoit (que retourne strlen(tamp) ?), et même comment USER xxx peut marcher.

n°93856
youdontcar​e
Posté le 27-01-2002 à 13:17:30  profilanswer
 

ah non y'a un bzero() qui traîne ...
 
conseil : cleane ton code, c'est infâme. utilise un buffer pour lire les commande de l'utilisateur, un buffer d'envoi, un buffer de réception. + (par ex) une jolie fonction pour envoyer une commande avec des paramètres + une fonction qui analyse la chaîne de retour et extrait le code de retour. etc.

n°93859
nicmic
Posté le 27-01-2002 à 13:26:12  profilanswer
 

Oki, merci du conseil ;)  
J'ai fait ça hier soir tard. Maintenant je me rends compte que c'est pas génial...
Bon je vais séparer tout ça en fonction pour faire plus joli...
Merci de ton aide.
Heu si jamais ça marche toujours pas, je reviens  :pt1cable:

n°94091
Tomate
Posté le 28-01-2002 à 11:59:19  profilanswer
 

fgets c est mal
read c est mieux


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C] Problème client FTP

 

Sujets relatifs
[C++] Comment savoir si un client et toujours connecté à un socket ?Probleme avec prog access !!
problème SQL. A l'aideeeeeee !!URGENT!!probleme sql très facile...
MySQL - probleme avec INSERT INTO.[access] Problème de requête entre sous-formulaires dans des onglets
[javascript] probleme de scriptsproblème de malloc
Problème de GROS newbie en C++[VB] probleme de socket
Plus de sujets relatifs à : [C] Problème client FTP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR