libcurl POST HTTPS envoi de données?

J'ai demande que les données reçues via HTTP POST demandes. Je suis en train d'utiliser libcurl pour ouvrir une demande à cette application, envoyer les données et de recevoir la réponse de l'application. C'est le code que j'ai pour l'instant:

int main(void)
{
    CURL *curl;
    CURLcode res;

    curl = curl_easy_init();
    if(curl) 
    {
        const int timeout = 30000;
        char outputmessage[]="VGhpcyBpcyBqdXN0IGEgbWVzc2FnZSwgaXQncyBub3QgdGhlIHJlYWwgdGhpbmc=";

        curl_easy_setopt(curl, CURLOPT_URL, "https://somehost.com/someapp");
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
        curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.5");
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, outputmessage);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, strlen(outputmessage));
        curl_easy_setopt(curl, CURLOPT_POST, 1L);
        curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout/1000);

        res = curl_easy_perform(curl);
        if(CURLE_OK != res)
        {
            printf("Error: %s\n", strerror(res));
            return 1;
        }

        //now what?

        //cleanup when done
        curl_easy_cleanup(curl);
    }
    return 0;
}

Cette substance se connecte au serveur, je reçois un OK sur le curl_easy_perform(). Je peux voir le lien sur Wireshark.

Deux questions:

1) Est-ce la bonne façon de l'envoi de données par l'intermédiaire d'un POST, et
2) Comment puis-je obtenir la réponse de l'application.

J'ai pensé que j'ai besoin d'utiliser curl_easy_recv() mais je ne vois pas comment. Tout exemple de code est la bienvenue.
Merci.

OriginalL'auteur Mr Aleph | 2011-10-21