Re: libCurl in C

Fabian Ischia <[email protected]>
Newsgroups org.kernel.vger.linux-c-programming
Message-ID <[email protected]>
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 [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.