Post請求是一種常見的數據交互方式,用于向服務器端發送數據并獲取響應。在C語言中,我們可以使用第三方庫curl來發送Post請求,并且可以獲取到服務器端返回的JSON數據。
CURL *curl = curl_easy_init(); if (curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=value"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, json_parse_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &json_data); 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實例,并設置了請求的URL地址、POST數據、請求頭的Content-Type、返回數據的回調函數和回調函數的參數。
其中,json_parse_calback是一個回調函數,用于解析服務器端返回的JSON數據。我們可以自行實現這個函數,在其中對返回的數據進行解析,并將解析得到的數據保存到json_data中。
最后,我們需要對curl進行清理操作,以釋放所占用的資源。在程序運行完畢后,我們就可以在json_data中獲取到服務器端返回的JSON數據了。