[libCURL] récupérer le retour d'une commande FTP

récupérer le retour d'une commande FTP [libCURL] - C - Programmation

Marsh Posté le 21-01-2008 à 11:47:37    

Bonjour,
 
Dans un programme utilisant la bibliothèque cURL, je voudrais récupérer le retour (chaine de caractères) d'une commande FTP.
La doc décrit comment obtenir le code de retour (entier) mais pas la chaine associée.
 
Je précise que c'est pour la commande SYST, pour laquelle le code entier seul (200 ou 215 en général) ne suffit pas à exploiter la réponse.
J'envoie la commande avec CURLOPT_CUSTOMREQUEST, le serveur la reçoit et l'exécute correctement mais rien à faire pour avoir la réponse :(
 
Est-ce que quelqu'un a déjà rencontré ce problème ?
 
Merci pour votre aide.

Reply

Marsh Posté le 21-01-2008 à 11:47:37   

Reply

Marsh Posté le 21-01-2008 à 20:30:26    

bobleblob a écrit :

Dans un programme utilisant la bibliothèque cURL, je voudrais récupérer le retour (chaine de caractères) d'une commande FTP.
La doc décrit comment obtenir le code de retour (entier) mais pas la chaine associée.

 

Je précise que c'est pour la commande SYST, pour laquelle le code entier seul (200 ou 215 en général) ne suffit pas à exploiter la réponse.
J'envoie la commande avec CURLOPT_CUSTOMREQUEST, le serveur la reçoit et l'exécute correctement mais rien à faire pour avoir la réponse :(


C'est d'abord une question de protocole FTP. Est-il prévu un mode qui retourne les erreurs en clair ?

 

Sinon, il faut lire la spécification de FTP et voir à quoi correspond l'erreur, qui à traduire l'erreur en texte avec un switch-case tout bête...

 

Message cité 1 fois
Message édité par Emmanuel Delahaye le 21-01-2008 à 20:30:47

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 22-01-2008 à 16:59:34    

Emmanuel Delahaye a écrit :


C'est d'abord une question de protocole FTP. Est-il prévu un mode qui retourne les erreurs en clair ?
 
Sinon, il faut lire la spécification de FTP et voir à quoi correspond l'erreur, qui à traduire l'erreur en texte avec un switch-case tout bête...
 


 
Il ne s'agit pas de traiter une erreur, mais une réponse du serveur.
Le protocole ne spécifie pas grand chose pour la commande SYST, qui est venue tardivement. En pratique, les serveurs répondent 200 ou 215, puis une chaine de caractères représentant le système. Le code et la chaine ne sont pas liés. Je cherche à récupérer cette chaine et je n'ai pas de solution pour l'instant.
 
Merci quand même.
Je suis toujours preneur d'une autre idée :)

Reply

Marsh Posté le 23-01-2008 à 13:52:42    

J'ai été regarder dans la doc de libCURL (librairie qui est excellente), mais je n'ai rien vu de clair a ce sujet. A mon avis, comme tu as le code source, il va falloir te plonger dedans pour voir ce qui se passe au moment du parsing d'une reponse a un envoi de SYST.
Tu peux aussi t'inscrire a la mailing list ad-hoc (voir sur le site de cURL) et y poser ta question.
 
EDIT: vas voir la doc pour la fonction curl_multi_info_read. Mais le descriptif de la structure avec un union me laisse peu optimiste.

Code :
  1. struct CURLMsg {
  2.     CURLMSG msg;       /* what this message means */
  3.     CURL *easy_handle; /* the handle it concerns */
  4.     union {
  5.       void *whatever;    /* message-specific data */
  6.       CURLcode result;   /* return code for transfer */
  7.     } data;
  8.   };


 
A+,


Message édité par gilou le 23-01-2008 à 14:07:18

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed