libcurl HTTPS POST Daten senden?

Habe ich Anwendung, die empfangenen Daten über HTTP POST Anfragen. Ich versuche, libcurl zu öffnen, eine Anfrage zu dieser app, die Daten senden und empfangen der Antworten aus der app. Dies ist der code den ich bisher:

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;
}

Dies ist im wesentlichen eine Verbindung zum server, bekomme ich ein OK auf die curl_easy_perform(). Ich kann sehen, dass die Verbindung auf Wireshark.

Zwei Fragen:

1) Ist dies der richtige Weg, das senden von Daten über eine POST, und

2) Wie bekomme ich die Antwort von der Anwendung.

Dachte ich, ich curl_easy_recv() aber ich kann nicht sehen, wie. Jede sample-code ist willkommen.
Danke.

InformationsquelleAutor Mr Aleph | 2011-10-21
Schreibe einen Kommentar