在C語言中,我們經常需要使用POST請求獲取JSON數據,下面我們來介紹一下如何使用C語言中的POST請求來獲取JSON數據。
#include#include #include #include // 定義請求的URL地址 #define URL "https://api.example.com/get_data" // 定義請求的數據 #define JSON_DATA "{\"name\":\"John Doe\",\"age\":30}" // 定義存儲JSON數據的緩沖區大小 #define BUFFER_SIZE 1024 int main(void) { CURL *curl; CURLcode res; char buffer[BUFFER_SIZE] = {0}; // 初始化curl庫 curl_global_init(CURL_GLOBAL_ALL); // 初始化curl對象 curl = curl_easy_init(); if(curl) { // 設置請求的URL地址 curl_easy_setopt(curl, CURLOPT_URL, URL); // 設置POST請求 curl_easy_setopt(curl, CURLOPT_POST, 1L); // 設置POST的數據 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, JSON_DATA); // 設置接收數據的緩沖區 curl_easy_setopt(curl, CURLOPT_WRITEDATA, buffer); // 設置緩沖區大小 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite); curl_easy_setopt(curl, CURLOPT_WRITEDATA, buffer); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite); // 發送請求 res = curl_easy_perform(curl); // 檢查請求是否成功 if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else { // 請求成功,輸出獲取的JSON數據 printf("Data:\n%s\n", buffer); } // 清理curl對象 curl_easy_cleanup(curl); } // 清理curl庫 curl_global_cleanup(); return 0; }
通過上面的代碼,我們可以很輕松地使用C語言中的POST請求來獲取JSON數據并保存至緩沖區中,方便我們進行后續的處理和解析。
上一篇c post請求json
下一篇python 行以u