Le 27 sept. 2013 à 13:28, Victor Dodon <[email protected]> a écrit :
> Q1. I need to set some custom headers for each request. The list of custom > headers can be freed imediately after curl_easy_setopt(curl, > CURLOPT_HTTPHEADER, slist) or only after the curl_easy_perform has returned? After. See the HTTP custom header example[1]. > Q2. How to do a post request with json HTTP body? Is something like this: > > char *post_body = json_dumps(json, 0); > struct curl_slist *slist=NULL; > slist = curl_slist_append(slist, "Content-Type: application/json"); > curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist); > curl_easy_setopt(curl, CURLOPT_POST, 1); > curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_body); > curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, strlen(post_body); > > ? Yes. You do not even need to pass the CURLOPT_POSTFIELDSIZE since by default libcurl will do the strlen() for you. Also, I would say CURLOPT_POST is redundant: you can omit it. > Q3. Microsoft and Apple server require client SSL certificate validation. > Assuming that I have a suitable SSL certififcate, what options I need to set > on curl handles to achieve this? CURLOPT_SSLCERT and CURLOPT_SSLCERTTYPE are > enough? Don't know about that :) [1]: http://curl.haxx.se/libcurl/c/httpcustomheader.html -- Cédric Deltheil http://about.me/deltheil
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
