cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: how to set options to get return content ?

From: Liang LIU <mmhancxt_at_gmail.com>
Date: Fri, 2 Nov 2012 21:23:54 +0100

Yeah I tried this and it works perfectly. Thank you so much.

yours,
Liang

On 2 nov. 2012, at 11:28, <Alexander.Elgert_at_external.t-systems.com> <Alexander.Elgert_at_external.t-systems.com> wrote:

> Hello,
>
> I did this job a few days ago, just look at this (complete) example:
> http://curl.haxx.se/libcurl/c/getinmemory.html
>
> You have to set this two CURLOPTions:
>
> curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); /* send all data to this function */
> curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
>
> The first one is to set the handler function, the second one to pass the struct, which holds the char* and its size.
>
> http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
>
> Greetings,
> Alexander
>
> --
> Deutsche Telekom AG
> Seamless ICT Security Infrastructure & Management
> im Auftrag T-Systems International GmbH
> Dipl. Inf Alexander Elgert
> Langwadener Strasse 17
> 64625 Bensheim
> +49 176 22 717 661 (Mobil)
> +49 671 83419-12 (Tel)
> +49 671 83419-30 (Fax)
> E-Mail: alexander.elgert_at_gmx.de
>
> ________________________________________
> Von: curl-users [curl-users-bounces_at_cool.haxx.se] im Auftrag von Liang LIU [mmhancxt_at_gmail.com]
> Gesendet: Freitag, 2. November 2012 01:08
> An: curl-users_at_cool.haxx.se
> Betreff: how to set options to get return content ?
>
> Hello everyone,
> I am trying to use cURL to apply request to twitter api. For example : https://api.twitter.com/1/users/lookup.json?screen_name=twitterapi,twitter
>
> I want to save the return content (the json object) to memory, like a char* object. here's what I write:
>
> CURL *curl;
> CURLcode res;
> void* data;
>
> curl = curl_easy_init();
> if(curl) {
> curl_easy_setopt(curl, CURLOPT_URL, "https://api.twitter.com/1/users/lookup.json?screen_name=twitterapi,twitter");
> curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_data);
> //curl_easy_setopt(curl, CURLINFO_PRIVATE, data);
> printf("before perform.\n");
> res = curl_easy_perform(curl);
>
> char *ct;
> curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
> printf("ct is : %s\n", ct);
> printf("data is : %s\n", (char*)data);
> /* always cleanup */
> curl_easy_cleanup(curl);
> }
> return 0;
>
> However every time the JSON object is printed in stdout and I can't get it in memory.
> Is there some method to solve this ?
>
> Thanks.
>
> LIU Liang
>
> -------------------------------------------------------------------
> List admin: http://cool.haxx.se/list/listinfo/curl-users
> FAQ: http://curl.haxx.se/docs/faq.html
> Etiquette: http://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-users
FAQ: http://curl.haxx.se/docs/faq.html
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2012-11-02