IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

[C++ REST SDK] Requête POST


Sujet :

Bibliothèques

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [C++ REST SDK] Requête POST
    Bonjour, je suis nouvelle sur le forum C++. Actuellement étudiante en DUT informatique, je sollicite votre aide et vous remercie d’avance du temps que vous prendrez pour me répondre.
    Dans le cadre d’un projet, il me faut réaliser une requête post sur un site web (prenons comme exemple : http://example.com / et comme champs à remplir : « name » et « firstname »). Il faut également que le retour soit en json.
    J’ai essayé plusieurs choses dont notamment C++ REST SDK. J’essaye d’effectuer la requête post mais j’ai un souci dans l’envoie des informations name et fisrtname.
    Voici mon code actuel :
    plx::task<int> Post()
    {
    return pplx::create_task([]
    {
    json::value postData;
    postData[L"name"] = json::value::string(L"unNom");
    postData[L"firstname"] = json::value::string(L"unPrenom");

    http_client client(L"http://example.com /");

    http_request request;
    request.set_method(U("POST"));
    request.set_body(postData, L"application/x-www-form-urlencoded");
    return client.request(request);
    }).then([](http_response response)
    {
    if (response.status_code() == status_codes::OK)
    {
    auto body = response.extract_string();
    std::wcout << L"Added new Id: " << body.get().c_str() << std::endl;

    return std::stoi(body.get().c_str());
    }

    return 0;
    });
    }
    Remarque : Je suis libre d’utiliser d’autres langages, librairies, etc. J’ai d’ailleurs effectué différents essaie. S’il vous semble que mon choix n’est pas judicieux ou adapté, n’hésitez pas à me faire part de vos opinions.

  2. #2
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Points : 558
    Points
    558
    Par défaut
    Bonjour, j'ai utilisé cette api pour faire deux requetes POST.tu ne dois pas envoyer tes deux champs en JSON (c'est la reponse qui peut etre en JSON).il faut par exemple utiliser une uri pour tes deux champs name et firstname:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CString bu = domaine + CString(_T(":80"));//ou domaine= CString domaine("http://www.example.com")
     
    http_client client(bu.AllocSysString());
    http_request requete(methods::POST); //initialiser ici la methode
    requete.headers().add(_T("Content-Type"), _T("application/x-www-form-urlencoded"));
    CString csu = CString(_T("/apirest/logon"))+CString(_T("?name=")) + name + CString(_T("&firstname="))+firstname;
    // (si tu utilise les CString de microsoft et name et firstname sont des Cstring  initialises avec tes deux champs) 
    uri u(csu.AllocSysString());
    requete.set_request_uri(u);
    client.request(requete).then([](http_response response){....});....
    voila si tu veux utiliser cette api rest de microsoft pour un projet microsoft. apres , si ton projet n'est pas forcément microsoft, tu peux aussi utiliser la librairie Qt pour faire celà et c'est plus simple avec Qt je trouve (en plus celà marche avec tous les OS avec Qt pour ton client)

Discussions similaires

  1. Acquitter une requête POST sur la même connexion
    Par phaby dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2006, 10h59
  2. [XML] Réponse à la requête POST VIA XML
    Par cilv1 dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 01/02/2006, 11h18
  3. [Socket] Réponse à la requête POST
    Par cilv1 dans le forum Langage
    Réponses: 4
    Dernier message: 20/10/2005, 18h18
  4. Comment envoyer une requête POST via HTTP ?
    Par pdtor dans le forum C++
    Réponses: 2
    Dernier message: 13/09/2005, 05h54
  5. Analyse de code HTML en réponse a une requête post.
    Par ghost942 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/06/2005, 21h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo