如果你想要獲取 web 的 JSON 數(shù)據(jù),那么你可以使用 C 語(yǔ)言提供的 libcurl 庫(kù)。下面是一份簡(jiǎn)單的代碼示例:
#include <stdio.h> #include <string.h> #include <curl/curl.h> int main(){ CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl){ curl_easy_setopt(curl, CURLOPT_URL, "http://localhost:3000/api/data"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout); 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 0; }
上述代碼中,我們首先初始化了 libcurl,并設(shè)置了訪問的 URL 地址。接著,我們?cè)O(shè)置了 CURLOPT_WRITEFUNCTION 和 CURLOPT_WRITEDATA 參數(shù),將下載到的數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出。最后,我們通過 curl_easy_perform() 函數(shù)執(zhí)行請(qǐng)求,并將返回值與 CURLE_OK 常量比對(duì)以判斷是否發(fā)生了錯(cuò)誤。