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 を使ってインターネット経由でやりとりする
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿