在C語言中,我們可以使用curl庫來訪問post傳json數據。
#include#include #include int main(void) { CURL *curl; CURLcode res; char *json = "{\"name\":\"Tom\",\"age\":20}"; char *url = "http://example.com/post_json"; curl = curl_easy_init(); if(curl) { struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_URL, url); 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_slist_free_all(headers); } return 0; }
上面的代碼中,首先需要創建一個curl對象,然后設置請求的相關參數。
其中,需要設置請求的URL和發送的JSON數據。在設置發送的JSON數據之前,還需要設置Content-Type為application/json,確保服務器能夠正確處理請求。
最后,調用curl_easy_perform函數,發送請求,并等待服務器的響應。
在執行完請求之后,需要使用curl_easy_cleanup函數清理curl對象,并釋放其他資源。