Outils pour utilisateurs

Outils du site


pages:norae:si:dev_note-1_tutotiel-c-libcurl

Faire un programme en C sans écire ce programme avec l'aide de curl et libcurl

Vu via Guillaume Valadon :

L'option –libcurl de curl permet de créer un fichier en C qui pourra repter la commande utilisée

Curl est le puissant utilitaire en ligne de commande qui vous permet de transférer des données vers ou depuis un serveur ou une URL.

--> /usr/bin/curl --version
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL 

cURL est un outil en ligne de commande qui parle un certain nombre de protocoles pour le transfert de fichiers, y compris HTTP, HTPPS, FTP, Secure Copy (SCP), Telnet, et d'autres. Mais en plus de converser avec les terminaux sur Internet depuis la ligne de commande, vous pouvez aussi écrire des programmes simples ou complexes en utilisant libcurl pour automatiser les tâches des protocoles de la couche application. Cettte page traite de notes sur l'outil en ligne de commande cURL, puis vous montre comment construire un progamme en C en utilisant libcurl.

Enregistrer un fichier avec un nom de fichier par défaut

Chaque fichier qui est servi sur Internet a un nom de fichier. Pour utiliser le même nom de fichier que le nom de fichier téléchargé, utilisez le -O.

Obtenir du code C depuis une requête curl avec –libcurl

source : https://curl.haxx.se/docs/manpage.html#--libcurl

« libcurl est une bibliothèque de fonctions qui sont fournies avec une API C, pour les applications écrites en C. Vous pouvez facilement l'utiliser à partir de C++ aussi, avec seulement quelques considérations (voir libcurl pour les programmeurs C++. Pour les autres langages, il existe des “bindings” qui fonctionnent comme des couches intermédiaires entre libcurl et les fonctions correspondantes pour le langage particulier que vous choississez » source Everything curl

Débogage

Souvent,avec curl sur un site, vous remarquerez que le site semblet répondre de la même façon à vos demandes de boucles qu'à vos requêtes du navigateur.

Vous devez commencer à rendre vos demandes de boucles plus semblables à celles de votre les requêtes du navigateur :

  • Utilisez l'option –trace-ascii pour stocker les logs détaillés des requêtes

pour une analyse plus facile et une meilleure compréhension

  • Assurez-vous de vérifier et d'utiliser les cookies lorsque c'est nécessaire (les deux lisant avec -b et en écrivant avec -c)

Sources

Aller plus loin

pages/norae/si/dev_note-1_tutotiel-c-libcurl.txt · Dernière modification : 2021/08/06 11:05 de xavcc