Télécharger et transférer des fichiers avec le protocole FTP

Problème

Vous souhaitez télécharger ou transférer un fichier grâce au protocole FTP.

Solution

Utilisez les fonctionnalités de transfert via FTP de la bibliothèque libcurl.

Discussion

Télécharger un fichier

Le téléchargement d’un fichier via FTP est très proche de celui d’une page web comme décrit dans la recette précédente lorsque nous utilisons la bibliothèque libcurl. Les programmes suivants se compilent normalement, en ajoutant -lcurl sur la ligne de commande de l’éditeur de liens :


gcc -Wall -c programme.c
gcc programme.o -lcurl -o programme
 

La fonction suivante recherche aussi bien une page web qu’un fichier sur un site FTP et l’affiche sur la sortie standard :


void 
print_URL (const char *url) 
{ 
  CURL *curl; 
  CURLcode res; 
 
  /* Initialisations */ 
  curl = curl_easy_init (); 
  if (curl) 
    { 
      /* Paramètres pour cURL */ 
 
      /* Fichier à demander */ 
      curl_easy_setopt (curl, CURLOPT_URL, url); 
 
      /* Recherche le fichier. */ 
      res = curl_easy_perform (curl); 
 
      /* Nettoyage des variables de cURL; retour. */ 
      curl_easy_cleanup (curl); 
 
      if (CURLE_OK != res) 
        { 
          fprintf (stderr, "Une erreur cURL est apparue (res=%d)\n", 
                   res); 
          return; 
        } 
    } 
}
 

Vous pouvez donc l’appeler...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Obtenir une page web d'un serveur HTTP ou HTTPS
Suivant
Créer un serveur HTTP