CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

C++ et RESTful API

godrik
godrik
Niveau 30
19 février 2017 à 00:25:30

Folks,

une question rapide. Comment les gens font l'interface avec les API restful a partir d'un code C++? Est ce que les gens interface avec curl manuellement. Ou est ce que les gens utilisent une lib pour faire ca? Une recommendation en particulier ?

Thanks!

Yiurule
Yiurule
Niveau 10
19 février 2017 à 10:22:05

Je connais pas spécialement des gens/boites qui font des API en C++, la tendance "actuelle" que j'ai pu apercevoir c'est de faire une API avec un langage plus haut niveau que le C++ et si tu as une partie critique dans ton application, de coder un micro-service que l'API fait appel. (via rabbitmq par ex)

Sinon j'avais entendu parler de restbed, mais j'ai jamais testé personnellement.
https://github.com/corvusoft/restbed

ACanOfPickIes
ACanOfPickIes
Niveau 10
19 février 2017 à 11:44:47

Perso j'utilisais fork et je recouvrais le fils en curl mais c'était pour un projet personnel

godrik
godrik
Niveau 30
19 février 2017 à 16:39:26

Yiurule, ca c'est pour faire le serveur j'ai l'impression. C'est le client dont j'ai besoin. Le reste de la logique est deja ecrit en C++, donc je veux pas reecrire toute mon application en autre chose.

ACanOfPickIes, oui, c'est ce que je ferais si j'ai vraiment pas le choix. Mais je prefererais ne pas avoir a faire l'encodage des valeures des parametres a la main. la RFC url est certainement casse couille a implementer.

Cj1993
Cj1993
Niveau 12
19 février 2017 à 18:10:43

Si tu veux pas tout refaire un truc de ce genre peut faire l'affaire https://github.com/mrtazz/restclient-cpp ?

godrik
godrik
Niveau 30
19 février 2017 à 19:28:04

Un truc comme ca pourrais aider. Ma question est ce que vous avez une recommendation en particulier?

DirectX11
DirectX11
Niveau 6
23 février 2017 à 17:58:49

Regarde du coté de cpp-netlib peut-être

https://github.com/cpp-netlib/cpp-netlib

ou proxygen
https://github.com/facebook/proxygen
https://code.facebook.com.com/projects/676603015770415/

WatchItBurn
WatchItBurn
Niveau 10
23 février 2017 à 23:41:40

Je comprends pas bien le problème, si tu as une API REST, qu'elle soit écrite en C++ ou en n'importe quoi ça change rien, tu peux la requêter avec ce que tu veux, c'est le but

Si tu veux POCer ouais, curl + jq ou xmllint c'est très bien. Si c'est pour programmer peu importe, tant qu'il y a un client HTTP c'est suffisant

[denshaotoko]
[denshaotoko]
Niveau 25
24 février 2017 à 00:51:46

Le 23 février 2017 à 23:41:40 WatchItBurn a écrit :
Je comprends pas bien le problème, si tu as une API REST, qu'elle soit écrite en C++ ou en n'importe quoi ça change rien, tu peux la requêter avec ce que tu veux, c'est le but

Si tu veux POCer ouais, curl + jq ou xmllint c'est très bien. Si c'est pour programmer peu importe, tant qu'il y a un client HTTP c'est suffisant

Il y a une API RESTful dont on ne sait pas en quoi elle est écrite, et on s'en fiche comme tu dis

et la question est quelle lib utiliser de plus commun et standard pour requêter cette API dans un programme C++

et pour répondre, s'il n'y a que quelques requetes par ci par là, alors je pense que je passerais par libcurl

sinon je pense que j'essayerais de voir s'il y a moyen d'utiliser spécifiquement le module network du framework qt sans être contraint d'importer qtcore, a priori je crois que c'est ok à ce niveau là

il me semble qu'ils ont une bonne api haut niveau pour tout ce qui est requete http
http://doc.qt.io/qt-5/qnetworkrequest.html

RegleGraduee
RegleGraduee
Niveau 71
24 février 2017 à 01:16:57

C'est pas un peu overkill de sortir des grosses librairies alors que ça se fait plutôt facilement avec juste des socket ? https://image.noelshack.com/fichiers/2016/38/1474723958-tv1.png

godrik
godrik
Niveau 30
24 février 2017 à 03:24:30

il me semble qu'ils ont une bonne api haut niveau pour tout ce qui est requete http
http://doc.qt.io/qt-5/qnetworkrequest.html

Meh, tu m'as donne de faux espoir! C'est dans QT, j'y ai cru. En fait, ca n'a pas l'air mieux que curl.

C'est pas un peu overkill de sortir des grosses librairies alors que ça se fait plutôt facilement avec juste des socket ?

Oui tiens pourquoi pas. Et puis je vais parser l'xml a la main aussi puisque j'ai que ca a foutre...

WatchItBurn
WatchItBurn
Niveau 10
25 février 2017 à 15:22:24

Le 24 février 2017 à 01:16:57 RegleGraduee a écrit :
C'est pas un peu overkill de sortir des grosses librairies alors que ça se fait plutôt facilement avec juste des socket ? https://image.noelshack.com/fichiers/2016/38/1474723958-tv1.png

Bah oui, utiliser un client dédié et suffisamment abstrait pour être facile d'utilisation c'est carrément overkill par rapport à réimplémenter HTTP

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment