C, C++ がほとんどわからないのですが・・・。
- まずプロジェクトを作ります。Xcode で News -> Project -> OS X -> Command Line Tool -> C++
- Project -> Build Phases -> Link Binary With Libraries で
libcurl.dylib
を追加。
curl_easy_perform()
で取得したページの内容は、CURLOPT_WRITEFUNCTION
で指定したコールバックで処理できるようです。
main.cpp
#include <iostream>
#include <curl/curl.h>
size_t onReceive(char *ptr, size_t size, size_t nmemb, void *userdata)
{
char result[nmemb];
memcpy(result, ptr, size * nmemb);
std::cout << result << std::endl;
return size * nmemb;
}
int main(int argc, const char * argv[])
{
CURL *curl = curl_easy_init();
if (!curl) {
std::cerr << "Failed to init curl." << std::endl;
curl_easy_cleanup(curl);
return 1;
}
curl_easy_setopt(curl, CURLOPT_URL, "http://curl.haxx.se/");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, onReceive);
CURLcode 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);
return 1;
}
curl_easy_cleanup(curl);
return 0;
}