C語言是一種面向過程的編程語言,也被稱為中級語言。近年來,由于其高效、安全和可靠的特點(diǎn),C語言受到了越來越多的關(guān)注,成為了廣泛使用的編程語言之一。在應(yīng)用程序開發(fā)中,我們經(jīng)常需要以JSON格式來交換數(shù)據(jù),而C語言也可以通過HTTP協(xié)議來推送JSON數(shù)據(jù)。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; char data[1000] = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; struct curl_slist *headers = NULL; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, 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); curl_slist_free_all(headers); } return 0; }
上面的代碼段演示了如何使用C語言推送JSON數(shù)據(jù)。使用libcurl庫可以方便地進(jìn)行網(wǎng)絡(luò)通信,上面的代碼使用curl_slist結(jié)構(gòu)體來保存請求頭,使用curl_easy_setopt函數(shù)來設(shè)置HTTP請求選項(xiàng),最后執(zhí)行curl_easy_perform函數(shù)發(fā)送請求。如果請求成功,函數(shù)返回CURLE_OK,否則返回錯誤信息。