3 points par GN⁺ 2024-01-30 | 1 commentaires | Partager sur WhatsApp

Utiliser --libcurl

  • Utilisation recommandée de libcurl : il est recommandé aux utilisateurs d’essayer d’abord le transfert souhaité avec l’outil en ligne de commande curl, puis, une fois qu’il fonctionne à peu près comme voulu, de relancer la commande en ajoutant l’option --libcurl [nom_du_fichier].
  • Génération de code : l’option de ligne de commande --libcurl génère un programme C avec le nom de fichier fourni. Ce programme C utilise libcurl pour exécuter le transfert effectué par l’outil en ligne de commande curl.
  • Exceptions et différences : le résultat ne correspond pas toujours à 100 %, mais cela peut fournir une excellente source d’inspiration concernant les options libcurl et les arguments supplémentaires à utiliser.

Exemple de code

  • Exemple d’exécution : si vous exécutez la commande curl http://example.com --libcurl example.c, le fichier example.c est créé dans le répertoire courant.
  • Code généré : le code généré inclut divers réglages d’options via curl_easy_setopt(), et certaines options ne peuvent pas être générées facilement depuis la source ; l’utilisateur peut donc devoir les implémenter lui-même ou choisir de ne pas les utiliser.

Avis de GN⁺

  • Utilité de libcurl : cette fonctionnalité permet aux développeurs de convertir facilement en programme C une commande curl fonctionnelle en ligne de commande, ce qui accélère le développement d’applications utilisant libcurl.
  • Avantage de la génération de code : le code généré automatiquement peut aider les développeurs à comprendre et appliquer plus rapidement l’API de libcurl.
  • Valeur comme outil d’apprentissage : cela peut constituer un bon support d’apprentissage pour les ingénieurs logiciel débutants, en montrant des exemples concrets d’utilisation des options de libcurl et de programmation réseau.

1 commentaires

 
GN⁺ 2024-01-30
Avis sur Hacker News
  • Il est utile, dans l’onglet réseau du navigateur, de repérer une requête intéressante puis de la « copier en tant que cURL ». Cela permet de générer une commande curl et d’utiliser un site capable de la convertir en code de requête dans le langage de son choix (curlconverter.com). curl joue ainsi le rôle d’une « représentation intermédiaire » pouvant être traduite vers d’autres langages.
  • Le fait qu’une interface en ligne de commande dispose d’un drapeau permettant d’afficher le code source du programme est une fonctionnalité vraiment remarquable. C’est un peu comme ouvrir le capot d’une voiture pour voir l’intérieur : cela aide à mieux comprendre le fonctionnement et à l’adapter à ses besoins. Le fait de pouvoir l’ajuster ou l’enrichir comme on le souhaite est très convivial pour l’utilisateur.
  • L’une des raisons du succès des macros Visual Basic de Microsoft Office tient à ce type de fonctionnalité. Après avoir effectué des tâches dans Word, Excel, etc., on peut utiliser la macro générée comme code et la personnaliser selon ses besoins. C’est un concept simple mais puissant, que l’on retrouve aussi dans curl.
  • Pour compiler curl, il faut indiquer qu’il doit être lié à libcurl. Avec gcc, par exemple, on utilise l’option -lcurl. Cela permet d’afficher l’adresse IP et de créer le fichier ip_fetcher.c, puis, après compilation avec gcc, d’obtenir l’adresse IP via l’exécutable.
  • Hurl est une CLI open source qui utilise libcurl et emploie du texte brut pour tester des requêtes HTTP. Elle s’appuie sur la stabilité de libcurl et sur ses meilleures fonctionnalités, y compris HTTP/3, tout en ajoutant des fonctions comme le chaînage des requêtes, la capture et la transmission de données depuis les réponses, ainsi que le test des réponses (JSONPath, XPath, etc.). Elle offre une commodité syntaxique pour les requêtes vers des API REST/SOAP/GraphQL, mais au cœur, c’est libcurl. Avec l’option verbose, on peut filtrer les commandes curl avec grep.
  • J’aimerais que ffmpeg propose lui aussi ce genre de fonctionnalité.
  • Daniel Stenberg accorde énormément d’attention aux détails et à l’expérience développeur/utilisateur, et cette minutie est jugée impressionnante.
  • Cette option est mentionnée dans une vidéo de 3 heures où Daniel Stenberg explique lui-même la plupart des options de la ligne de commande curl.
  • Le titre de la soumission devrait utiliser deux tirets (--) ; une combinaison d’un tiret cadratin et d’un trait d’union (—-) n’est pas correcte.
  • Un partisan enthousiaste de l’IA avance avec passion que, depuis l’arrivée de ChatGPT, cette fonctionnalité est devenue obsolète, car il n’est plus nécessaire d’inclure des quines à moitié fabriqués dans l’exécutable curl.