2011-01-03 4 views
1

I Libcurl ist mit einem HTTP POST aufzubauen, struct curl_httppost mit curl_formadd usw. verwendetCompute Content-MD5 von libcurl für HTTP POST

Ich brauche einen MD5-Hash-Wert für den gesamten Inhalt in die Lage sein zu berechnen wie sie gepostet werden, einschließlich der Grenzmarkierungen, etc. Das MD5 muss dann als HTTP-Header "Content-MD5" hochgeladen werden.

Gibt es eine Möglichkeit, den rohen Post-Inhalt von der Curl API zu bekommen, so dass ich ein MD5 darauf berechnen kann, bevor es gepostet wird? Oder gibt es bereits einen Mechanismus innerhalb von curl, um einfach die MD5 zu berechnen und den Header intern zu setzen?

struct curl_httppost* list = NULL; 
struct curl_httppost* last = NULL; 

curl_formadd (&list, &last, 
    CURLFORM_COPYNAME, pFieldName, 
    CURLFORM_BUFFER, pFieldFilename, 
    CURLFORM_BUFFERPTR, pFileContents, 
    CURLFORM_BUFFERLENGTH, lenFileContents, 
    CURLFORM_END); 

curl_easy_setopt(session, CURLOPT_URL, url); 
curl_easy_setopt(session, CURLOPT_HTTPPOST, list); 

Danke.

Antwort