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

C++ Discussion :

C++ Rest SDK ajouter des param�tres d'en t�te HTTP (headers)


Sujet :

C++

  1. #1
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur Logiciel
    Inscrit en
    D�cembre 2015
    Messages
    230
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Logiciel
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 230
    Par d�faut C++ Rest SDK ajouter des param�tres d'en t�te HTTP (headers)
    Bonjour,

    J'essaye d'ajouter des param�tres � l'en t�te de ma requ�tes (des headers), mais lorsque je test avec un client comme postman ils n'apparaissent pas.
    Un petit bout de code sur comment j'essaye d'mpl�menter mes param�tres.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    			request.headers().add(U("Content-Type"), U("image/png"));
    			request.headers().add(U("Connection"), U("keep-alive"));
    			request.reply(206, ostrm.str());
     
    			return request;
    L'en-t�te actuel que je re�ois:

    Server →Microsoft-HTTPAPI/2.0
    Content-Length →292182
    Content-Type →text/plain; charset=utf-8
    Date →Mon, 18 Nov 2019 14:43:44 GMT

    j'aimerais m�me changer le content type mais rien.
    Si quelqu'un a d�j� �t� confront� au m�me probl�me.

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    web::http::http_headers::set_content_type
    Si tu ajoutes en plus une cl� content-type dans headers, s�rement qu'elle sera ignor�e.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur Logiciel
    Inscrit en
    D�cembre 2015
    Messages
    230
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Logiciel
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 230
    Par d�faut
    Merci pour la petite pr�cision Bousk.
    Dans tout les cas mon header ne change pas.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    			request.headers().set_content_type(utility::string_t(utility::conversions::to_utf16string("image/png")));
    			request.reply(206, ostrm.str());

  4. #4
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Pourquoi retourner une image avec un code 206 ?
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  5. #5
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur Logiciel
    Inscrit en
    D�cembre 2015
    Messages
    230
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Logiciel
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 230
    Par d�faut
    L'image c'est juste pour faire un test, � la base c'est pour tester avec des fichiers audio et vid�o.
    Je test avec une image car c'est plus l�ger pour tester que de tester � chaque fois avec des vid�os

  6. #6
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur Logiciel
    Inscrit en
    D�cembre 2015
    Messages
    230
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Logiciel
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 230
    Par d�faut
    Actuellement mon code pour mon en t�te ressemble � �a:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    			request.headers().set_content_type(U("image/png"));
    			request.headers().add(U("Connection"), U("keep-alive"));
    			request.reply(206, ostrm.str());
    Tandis que le r�sultat de la r�ponse, lui ne change passe, soit:

    Server →Microsoft-HTTPAPI/2.0
    Content-Length →292182
    Content-Type →text/plain; charset=utf-8
    Date →Mon, 18 Nov 2019 16:45:36 GMT

    M�me si je fais un request.headers().clear(); �a ne supprime en aucun cas mes param�tres de mon header.
    Je crois que �a ne fait aucun effet, �a ne doit pas �tre la bonne fa�on de proc�der.

  7. #7
    Membre tr�s actif
    Homme Profil pro
    D�veloppeur Logiciel
    Inscrit en
    D�cembre 2015
    Messages
    230
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur Logiciel
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 230
    Par d�faut
    Ok c'est bon, c'est tout con, je vais poster la r�ponse ici en esp�rant que cela puisse aider pour ceux qui seraient dans le m�me probl�me ou un probl�me similaire.

    Voil� comment faire une r�ponse avec la librairie Rest SDK de Microsoft correctement:

    Tout d'abord utiliser la classe http_response.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    http_response response;
    response.set_status_code(206);
    Ici on en profite �galement pour directement attribuer j'en profite directement pour ajouter un code d'en-t�te, l� en l'occurrence j'ai mis 206, mais on utilise plus commun�ment 200 dans le cas ou votre requ�te ce serait bien pass�.
    Ensuite pour ajouter des param�tres � votre en-t�te de votre r�ponse.

    Par exemple:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    response.headers().add(U("Connection"), U("keep-alive"));
    response.headers().add(U("Accept-Ranges"), U("bytes"));
    Ensuite, pour retourner votre r�ponse il suffit de faire:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    request.reply(response);
    Ici l'objet request est de type http_request.
    Voil�, vous devriez comprendre si vous avez un peu chercher, ce que �a signifie.
    Merci Bousk �galement pour tes r�ponses, cela m'a tout de m�me aider.

  8. #8
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Effectivement ta variable nomm�e request aurait d� faire tilt, mais oui pour envoyer une r�ponse, il faut un objet response.
    Modifier les headers de la requ�te euh.. assez inutile en effet et n'aura aucun effet sur la r�ponse.
    Et il faut v�rifier que le bon reply soit appel�.. Y'en a plusieurs pour nous faciliter la vie.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [SHELL] ajouter des param�tres pour une commande shell
    Par anissben dans le forum Shell et commandes GNU
    R�ponses: 5
    Dernier message: 11/12/2010, 13h36
  2. [W3C] Ajout des param�tres dans l'attribut action d'un formulaire
    Par anaranjado dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 1
    Dernier message: 15/04/2010, 13h24
  3. R�ponses: 9
    Dernier message: 09/07/2009, 23h17
  4. Ajouter des param�tres � un run
    Par dumser1 dans le forum Windows
    R�ponses: 9
    Dernier message: 22/01/2007, 19h01
  5. [ajouter des param�tres au post avant envoi]
    Par jean-jacques varvenne dans le forum G�n�ral JavaScript
    R�ponses: 10
    Dernier message: 11/04/2006, 18h01

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