2014年2月20日木曜日

libcurlって凄いですね

cocos2dxで継続して開発してるわけですが、まだまだ勉強不足といえど、
libcurlって凄いなと思いました。
※こんなん考えている人の頭の中はいったいどうなっているのやら。。。

以下ソースはまだまだ途中ですが、string型に該当ページのソースを格納する事までは
成功しております。

しばらくgoogle先生にまた聞いて勉強を継続します、、、

int TitleScene::libcurl_func()
{
    CURL *curl;
    CURLcode ret;
    
    curl = curl_easy_init();
    string chunk;
    
    if (curl == NULL) {
        cerr << "curl_easy_init() failed1" << endl;
        return 1;
    }
    
    curl_easy_setopt(curl, CURLOPT_URL, "http://XXXXXXXXXXXX(URL入れる)");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, this->callbackWrite);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &chunk);
    ret = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    
    if (ret != CURLE_OK) {
        cerr << "curl_easy_perform() failed2" << endl;
        return 1;
    }
    
    cout << chunk << endl;
    
    return 0;
}

size_t TitleScene::callbackWrite(char *ptr, size_t size, size_t nmemb, string *stream)
{
    int dataLength = size * nmemb;
    stream->append(ptr, dataLength);
    return dataLength;

}

0 件のコメント:

コメントを投稿