C Programing - Return libcurl http response to string to the calling function
Posted
by
empty set
on Stack Overflow
See other posts from Stack Overflow
or by empty set
Published on 2012-12-16T21:46:12Z
Indexed on
2012/12/16
23:03 UTC
Read the original article
Hit count: 257
I have a homework and i need somehow to compare two http responses. I am writing it on C (dumb decision) and i use libcurl to make things easier. I am calling the function that uses libcurl to http request and response from another function and i want to return the http response to it. Anyway, the code below doesn't work, any ideas?
#include <stdio.h>
#include <curl/curl.h>
#include <string.h>
size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) {
size_t written;
written = fwrite(ptr, size, nmemb, stream);
return written;
}
char *handle_url(void) {
CURL *curl;
char *fp;
CURLcode res;
char *url = "http://www.yahoo.com";
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
//printf("\n%s", fp);
}
return fp;
}
This solution C libcurl get output into a string works, but not in my case because i want to return this string to the calling function.
© Stack Overflow or respective owner