#include <stdio.h>
#include <pthread.h>
#include <curl/curl.h>

#define NUM 1 
char *urls[2]= {
   "http://www.google.com/",
   "http://www.rediff.com/"
 };


void *pull_one_url(void *url)
{
   CURL *curl;
   char *headerfilename = "out.headers" ;
   char *bodyfilename = "out.body" ;
   FILE *bodyfile, *headerfile;
 
   curl = curl_easy_init();

   curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030430 Debian/1.3-5");
   curl_easy_setopt(curl, CURLOPT_ENCODING,"gzip");
   curl_easy_setopt(curl, CURLOPT_URL, url);

    headerfile = fopen(headerfilename,"a");
    if (headerfile == NULL) {
      curl_easy_cleanup(curl);
      return -1;
    }

    bodyfile = fopen(bodyfilename,"a");
    if (bodyfile == NULL) {
      curl_easy_cleanup(curl);
      return -1;
    }
  
    curl_easy_setopt(curl,   CURLOPT_WRITEHEADER ,headerfile);

    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    return NULL;

}

int main(int argc, char **argv)
{

   pthread_t tid[NUM];
   int i;
   int error;
   for(i=0; i< NUM; i++) {
     error = pthread_create(&tid[i],
                            NULL, 
                            pull_one_url,
                            urls[i]);
     if(0 != error)
       fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
     else 
       fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
   }
 
   for(i=0; i< NUM; i++) {
     error = pthread_join(tid[i], NULL);
     fprintf(stderr, "Thread %d terminated\n", i);
   }
   return 0;
}
