Re: libCurl in C

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You have to set a write function that will be called when curl receives the data. You can do whatever you want with the raw info retrieved by the funciton

........
curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_data);
..........


size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp)
{
   char *data;

fprintf(stderr, "Allocating %ld * %ld = %ld\n", (long)size, (long)nmemb, (long)(size * nmemb));
   data = calloc(size, nmemb);
   if(!data)
       return -1;
   fprintf(stderr, "Allocation succeeded\n");

   memcpy(data, buffer, size * nmemb);

   return size * nmemb;
}


Jai Sharma wrote:
Dear Friends,

I am using CURL to get HTTP response.
The default output for CURL is stdout, but i am unable to change it to
a variable.

Right now,
I am using a temporary file for this purpose and read it to process it.
Is there any way, by which method i will get CURL output to a string
or any structure?

===================== main.c =====================

#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>

int
main()
{
	CURL *curl;
	char *data1[512];

	FILE *fp;
	fp = fopen("/tmp/curl","w");

	curl = curl_easy_init();
  	if(curl) {
    		curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1";);
    		curl_easy_setopt(curl, CURLOPT_HEADER, 0);
		curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
	    	curl_easy_perform(curl);
	    	curl_easy_cleanup(curl);
  	}

	fclose(fp);    	
	return 0;
}

================================================

Thanks and Regards
Jai
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux