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

XML Discussion :

[xml][libcurl] envoyer un HTTP POST avec du XML et LIBCURL


Sujet :

XML

  1. #1
    Membre averti Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Points : 352
    Points
    352
    Par défaut [xml][libcurl] envoyer un HTTP POST avec du XML et LIBCURL
    bonjours,

    j'essaye depuis 2 jours d'envoyer une simple requete HTTP POST avec la librairie LIBCURL en C++.

    le probleme, c'est que j'ai beau suivre les exemples que je trouve sur le site de libcurl le XML n'est jamais ajoute correctement a la requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    void Example4()
    {
        CURL *curl;
        CURLcode res;
     
        struct curl_slist *headers=NULL;
        headers = curl_slist_append(headers, "Content-Type: text/xml");
     
        char *url = "http://my.server.com";
     
        /* get a curl handle */
        curl = curl_easy_init();
        if(curl) 
        {
    	curl_easy_setopt(curl,CURLOPT_URL, url);
    	curl_easy_setopt(curl, CURLOPT_POST, 1);
    	const char* postmess = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<DescribeCoverage xmlns=\"http://www.opengis.net/wcs/1.1.1\" \nxmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \nservice=\"WCS\" version=\"1.1.1\" xsi:schemaLocation=\"http://www.opengis.net/wcs/1.1.1 http://schemas.opengis.net/wcs/1.1.1/wcsAll.xsd\">\n<Identifier>wcs111_wcs_l7_mspix</Identifier>\n</DescribeCoverage>\n";
    	printf(postmess);
     
    	curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postmess);
    	curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, sizeof(postmess));
    	curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
    	curl_easy_perform(curl);
     
    	curl_slist_free_all(headers);
     
    	/* always cleanup */
    	curl_easy_cleanup(curl);
        }
    }
    est ce que quelqu'un connait un peu cette librairie ?

    merci
    XXiemeciel

  2. #2
    Membre averti Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Points : 352
    Points
    352
    Par défaut
    c'est bon j'ai trouvé.

    il suffit de remplacer sizeof(postmess) par strlen(postmess) et ca fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer un champ xml dans un champ http post
    Par soso78 dans le forum VB.NET
    Réponses: 0
    Dernier message: 02/03/2009, 12h28
  2. Réponses: 1
    Dernier message: 17/12/2008, 15h15
  3. Requête HTTP - POST avec socket
    Par kalylive dans le forum Réseau
    Réponses: 3
    Dernier message: 28/04/2008, 14h10
  4. Réponses: 5
    Dernier message: 05/04/2008, 13h51
  5. http post avec TClientSocket
    Par aminebot dans le forum Web & réseau
    Réponses: 2
    Dernier message: 18/01/2008, 23h40

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