#include "test.h" int test(char *URL) { CURL *curl; CURLcode res=CURLE_OK; curl = curl_easy_init(); if(curl) { /* First set the URL that is about to receive our POST. */ curl_easy_setopt(curl, CURLOPT_URL, URL); /* Based on a bug report by Niels van Tongeren on June 29, 2004: A weird situation occurs when request 1 is a POST request and the request 2 is a HEAD request. For the POST request we set the CURLOPT_POSTFIELDS, CURLOPT_POSTFIELDSIZE and CURLOPT_POST options. For the HEAD request we set the CURLOPT_NOBODY option to '1'. */ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "moo"); curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 3); curl_easy_setopt(curl, CURLOPT_POST, 1); /* this is where transfer 1 would take place, but skip that and change options right away instead */ curl_easy_setopt(curl, CURLOPT_NOBODY, 1); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); /* show verbose for debug */ curl_easy_setopt(curl, CURLOPT_HEADER, 1); /* include header */ /* Now, we should be making a fine HEAD request */ /* Perform the request 2, res will get the return code */ res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } return (int)res; }