在C語(yǔ)言中使用POST傳輸JSON對(duì)象的方法非常簡(jiǎn)單。以下是基本的示例,顯示如何使用C語(yǔ)言和libcurl庫(kù)來(lái)發(fā)起HTTP POST請(qǐng)求并傳輸JSON對(duì)象:
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; char *url = "https://example.com/api"; char *json = "{\"key\": \"value\"}"; /*初始化 curl*/ curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, url); /*設(shè)置請(qǐng)求頭信息*/ struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); /*設(shè)置POST請(qǐng)求*/ curl_easy_setopt(curl, CURLOPT_POST, 1L); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json); /*執(zhí)行請(qǐng)求*/ res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } /*清理和釋放curl*/ curl_easy_cleanup(curl); } return 0; }
在上面的代碼中,我們通過(guò)設(shè)置CURL對(duì)象的一些選項(xiàng)來(lái)配置HTTP請(qǐng)求。首先,我們?cè)O(shè)置請(qǐng)求的URL,然后添加Content-Type標(biāo)頭來(lái)指定請(qǐng)求體的格式。然后,我們?cè)O(shè)置為POST請(qǐng)求并設(shè)置JSON字符串作為POST數(shù)據(jù)。最后,我們執(zhí)行這個(gè)請(qǐng)求并檢查它是否成功。
需要注意的是,如果要傳輸JSON數(shù)組而不是對(duì)象,只需將JSON字符串替換為JSON數(shù)組字符串即可。