C語言提供了許多可以發送HTTP請求的第三方庫,其中比較常用的就是libcurl。
要使用c post發送json數據,需要使用libcurl庫中的curl_easy_setopt()設置相關參數。
//首先需要初始化curl CURL *curl = curl_easy_init(); if (curl) { //設置要發送的URL curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); //要發送的json數據 char *jsonData = "{\"name\":\"John\", \"age\":30}"; //設置post請求 curl_easy_setopt(curl, CURLOPT_POST, 1L); //設置post數據 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonData); //設置json格式 struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); //執行請求 CURLcode res = curl_easy_perform(curl); //釋放內存 curl_slist_free_all(headers); curl_easy_cleanup(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } }
在上面的示例中,首先需要初始化curl,然后設置要發送的URL。接著設置post請求,以及要發送的json數據和數據格式。最后執行請求,如果請求失敗輸出錯誤信息。
這樣就可以用C語言發送json數據了。