在進行web開發(fā)時,獲取遠程服務器的數(shù)據(jù)是非常常見的需求。而對于json數(shù)據(jù)的獲取,C語言也可以很好地實現(xiàn)。
下面以獲取json數(shù)據(jù)為例,介紹一下C語言如何進行訪問:
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> int main() { CURL *curl; CURLcode res; char *url = "http://api.example.com/data.json"; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); 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庫,該庫提供了一套處理URL的API。在這個例子中,CURL初始化后,使用curl_easy_perform發(fā)出了一個請求,并最終將結果保存在RAM中。
這是基礎的獲取json數(shù)據(jù)的代碼。需要注意的是在實際情況下,需要對獲取到的數(shù)據(jù)進行解析,才能真正使用得到。