ページ

2010年6月22日火曜日

[C言語][cURL] 文字列を取り出す

このエントリーをはてなブックマークに追加

1.とりあえず文字列を取り出したい人用です。エラー処理は皆無です。エラー処理もしたい方は参考URLを参照してくだい。
2.C言語でcURLライブラリを使用したい方は[Ubuntu 10.04] C言語 cURLライブラリを使うを参照してくだい。


//================================================

#include<stdio.h>
// memcpy()
#include<string.h>
#include<curl/curl.h>

char buf[65536];
size_t po;

// fwrite or freadにそっくり
size_t func(void *, size_t, size_t, void *);

int main(void){

CURL * curl;
CURLcode res;

po = 0;

curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "http://localhost/www.yahoo.co.jp");
// CALLBACK
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, func);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);

// res(unsigned int) 0以外はErrorCode
if(!res){
printf("%s\n", buf);
}

return 0;
}

size_t func(void * ptr, size_t size, size_t nmemb, void * stream){

// debug用
// printf("%s", (char *)ptr);

memcpy(buf+po, ptr, size * nmemb);
po += size * nmemb;
*(buf + po) = '\0';

return nmemb;
}

//================================================


参考URL
libcurl - C API
cURL と libcurl を使ってインターネット経由でやりとりする

0 件のコメント:

コメントを投稿