C語言是一門非常重要的編程語言,在實際的開發過程中,我們經常需要用到HTTP請求。在HTTP請求中,我們有時需要使用POST方法向服務器發送JSON數組。那么該如何實現呢? 接下來,我將為大家詳細介紹如何使用C語言的POST方法,向服務器發送JSON數組。
#include#include #include #include int main(void) { CURL *curl; CURLcode res; char *url = "http://www.example.com"; char *data = "[{\"name\":\"John\",\"age\":30,\"city\":\"New York\"},{\"name\":\"Bob\",\"age\":25,\"city\":\"San Francisco\"}]"; struct curl_slist *headers = NULL; curl = curl_easy_init(); if(curl) { headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_POST, 1); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); /* free headers */ curl_slist_free_all(headers); } return 0; }
首先,我們需要包含所需的頭文件。然后我們定義一個URL和JSON數組作為要發送的數據。接下來我們使用curl_slist_append函數來設置請求頭,將Content-Type設置為application/json。然后,我們設置CURL選項,如URL,POST請求類型,要發送的數據以及請求頭。最后,我們執行curl_easy_perform,并檢查是否有錯誤。如果沒有錯誤,則清除curl的實例,釋放所有的請求頭,并返回0。