Débuter avec curl

Utilisation de curl via la ligne de commande

Afficher la version curl :

curl --version

OBTENEZ une ressource distante et affichez-la dans le terminal :

curl http://stackoverflow.com

OBTENEZ une ressource distante et enregistrez-la dans un fichier local :

curl -o file https://stackoverflow.com

Ajoutez des en-têtes à la réponse :

curl -i http://stackoverflow.com

Afficher uniquement les en-têtes :

curl -I http://stackoverflow.com

Transférer des données à l’aide de curl

cURL est le nom du projet qui décrit : “Client pour les URL” et également appelé Client URL Request Library

il combine deux packages distincts : curl et libcurl.

  1. curl est un outil de ligne de commande utilisé pour obtenir des documents/fichiers ou envoyer des documents à un serveur, en utilisant l’un des protocoles pris en charge : DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP , LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMTP, SMTPS, Telnet et TFTP.

  2. libcurl est la bibliothèque sous-jacente utilisée par curl pour effectuer le travail de mise en réseau et de transfert. libcurl est utilisé par des milliers de services, d’applications et d’appareils et très souvent via l’une des “liaisons de langage” qui permet aux programmeurs de langages de niveau supérieur d’accéder à ses pouvoirs.

Utilisation de curl en PHP pour récupérer des données

<?php
 
    $ch = curl_init(); //curl handler init

    curl_setopt($ch,CURLOPT_URL,"http://www.google.com/search?q=curl");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);// set optional params
    curl_setopt($ch,CURLOPT_HEADER, false); 
 
    $result=curl_exec($ch);
 
    curl_close($ch);
 
    echo $result;
?>

Utilisez l’API libcurl easy C pour obtenir une ressource distante

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

    /* example.com is redirected, so we tell libcurl to follow redirection */
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);

    /* Perform the request, res will get the return code */
    res = curl_easy_perform(curl);
    /* Check for errors */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}