今天我們來介紹一段使用 C 語言編寫的 POST JSON 源碼例子。
#include#include #include #include int main(int argc, char *argv[]) { CURL *curl; CURLcode res; struct curl_slist *list = NULL; // 請求頭列表 char *url = "https://example.com/api"; // 接口 URL curl_global_init(CURL_GLOBAL_ALL); // 初始化 Libcurl curl = curl_easy_init(); // 初始化 curl if(curl) { cJSON *root = cJSON_CreateObject(); cJSON *contact = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "John"); // 向 JSON 對象添加 "name" 屬性并賦值 cJSON_AddStringToObject(root, "age", "28"); // 向 JSON 對象添加 "age" 屬性并賦值 cJSON_AddStringToObject(contact, "email", "john@example.com"); // 向嵌套的 JSON 對象添加 "email" 屬性并賦值 cJSON_AddItemToObject(root, "contact", contact); // 向根 JSON 對象添加一個嵌套的 JSON 對象 "contact" char *payload = cJSON_Print(root); // 將 JSON 對象轉換為字符串 CURLcode res; // CURL 請求結果代碼 curl_easy_setopt(curl, CURLOPT_URL, url); // 設置請求 URL curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload); // 設置請求體 // 設置請求頭數據類型 list = curl_slist_append(list, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list); // 設置請求頭列表 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); // 釋放資源 } cJSON_Delete(root); // 釋放 JSON 對象資源 curl_global_cleanup(); // 全局釋放 Libcurl 占用的資源 return 0; }
這段源碼將 POST 請求體設置為一個JSON字符串,然后將其發送到指定的接口URL。
我們先將對象轉換為字符串,然后將其設置為 curl_easy_setopt 函數的第二個參數 CURLOPT_POSTFIELDS。同時,我們通過 curl_slist_append 函數將請求頭數據類型設置為 application/json。最后,我們執行 CURL 請求并檢查結果是否成功。
以上就是這個 POST JSON 源碼例子的詳細解釋。希望會對 C 語言初學者提供一些幫助。
上一篇vue input回填
下一篇vue input正則