C語言是一種十分強大的編程語言,可以用來處理各種數據類型和格式。當我們需要請求JSON數據時,我們可以使用C語言中的http庫來實現。
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/jsondata"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); 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; } size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) { size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); return written; }
在上面的代碼中,我們使用了curl/curl.h庫,它包含了許多有用的函數,其中包括了我們所需的URL請求函數。我們在main函數中,首先調用了curl_easy_init()函數來初始化一個curl句柄,緊接著使用curl_easy_setopt()函數來設置一些請求選項。其中URL是必須要設置的,而其他選項可以自行設置。
write_data()函數則是一個回調函數,因為在請求得到結果后,我們還需要將數據寫入到文件中,在這里我們將它定義為寫入到stream指向的文件中。最后我們使用curl_easy_cleanup()函數來釋放之前初始化的curl句柄,以及相應的資源。