在網絡數據傳輸中,常常使用HTTP協議來實現客戶端與服務端的數據交互。其中,POST方法是一種常見的方式。今天,我們來討論如何使用C語言實現HTTP POST方法中的JSON數據。
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> int main() { CURL *curl; CURLcode res; char *json = "{ \"name\": \"張三\", \"age\": 18 }"; struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/api/user"); curl_easy_setopt(curl, CURLOPT_POST, 1); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json); 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; }
上述代碼利用了libcurl庫,執行了一次POST請求。在headers中設置了Content-Type為application/json,確保POST數據的正確格式。在POSTFIELDS中放入了要發送的JSON數據。
代碼執行完畢后,我們可以直接檢查response的狀態碼及內容是否符合預期。