在C語言中,我們可以使用一些第三方庫來發(fā)送POST請求并傳遞JSON數(shù)據(jù)。例如,libcurl是一個(gè)可靠且廣泛被使用的C語言HTTP客戶端庫,它可以用來發(fā)送HTTP請求。下面是一個(gè)簡單的示例代碼:
#include#include #include int main(void) { CURL *curl; CURLcode res; char *url = "http://example.com/api"; char *json_str = "{\"name\":\"John Doe\",\"age\":30}"; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str); 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); } curl_global_cleanup(); return 0; }
上面的代碼簡單解釋一下:
- 首先,我們導(dǎo)入了所需的頭文件和庫。
- 然后,我們初始化了全局的CURL對(duì)象和URL指針。
- 我們設(shè)置了HTTP請求的頭部為JSON類型。
- 我們設(shè)置了POST請求的body部分,也就是我們要傳遞的JSON數(shù)據(jù)。
- 最后,我們執(zhí)行了CURL請求并進(jìn)行了錯(cuò)誤處理。
這樣我們就可以發(fā)送POST請求并傳遞JSON數(shù)據(jù)了。