C語言中的curl庫是一個常用的網絡傳輸庫,它可以發送HTTP請求并接收響應。在實際項目中,我們經常需要以JSON格式發送數據,如何使用curl發送JSON數據呢?下面是一個簡單的示例。
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; char *url = "http://example.com/api"; struct curl_slist *headers = NULL; char *payload = "{ \"name\": \"John Doe\", \"age\": 30 }"; curl = curl_easy_init(); if (curl) { headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload); 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; }
上述代碼使用curl向"http://example.com/api"發送POST請求,并將JSON數據作為請求體發送。其中,Content-Type頭部指定了數據格式為JSON字符串。
使用curl發送JSON數據是非常方便的,只需要使用curl_easy_setopt函數設置參數,就可以輕松發送數據了。