在C語(yǔ)言中,我們可以使用curl庫(kù)來(lái)進(jìn)行HTTP請(qǐng)求。如果我們需要進(jìn)行POST請(qǐng)求發(fā)送JSON數(shù)據(jù),可以參考如下代碼:
#include#include int main(void) { CURL *curl; CURLcode res; /* 初始化curl */ curl = curl_easy_init(); if (curl) { /* 設(shè)置請(qǐng)求的URL */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api"); /* 設(shè)置請(qǐng)求方式為POST */ curl_easy_setopt(curl, CURLOPT_POST, 1L); /* 設(shè)置請(qǐng)求頭中的Content-Type為application/json */ curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); /* 設(shè)置請(qǐng)求體 */ const char *data = "{\"name\": \"example\", \"age\": 20}"; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); /* 執(zhí)行請(qǐng)求 */ res = curl_easy_perform(curl); /* 釋放資源 */ curl_slist_free_all(headers); curl_easy_cleanup(curl); } return 0; }
上述代碼中,首先使用curl_easy_init函數(shù)初始化curl。然后設(shè)置請(qǐng)求的URL、請(qǐng)求方式和請(qǐng)求頭。其中,設(shè)置請(qǐng)求頭中的Content-Type為application/json非常重要,它告訴服務(wù)器請(qǐng)求體的格式是JSON格式。接著設(shè)置請(qǐng)求體,這里我們模擬一個(gè)名字為example,年齡為20的JSON數(shù)據(jù)。最后調(diào)用curl_easy_perform函數(shù)發(fā)送請(qǐng)求,并釋放資源。