色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c url 返回json數據類型

錢斌斌2年前8瀏覽0評論

在使用C語言編寫網絡應用程序時,我們經常需要發送HTTP請求,并接收JSON格式的數據響應。C語言提供了cURL庫來實現這一過程。

在使用cURL庫時,我們首先需要初始化一個cURL句柄,設置請求頭和請求URL,然后執行請求,最后讀取響應數據。

CURL *curl;
CURLcode res;
char *url = "http://example.com/api/data";
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "Content-Type: application/json");
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
} else {
char *response_data;
long response_code;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &response_size);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_data);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_response_data);
res = curl_easy_perform(curl);
if (res == CURLE_OK) {
printf("Response code: %ld\n", response_code);
printf("Response data: %s\n", response_data);
}
}
curl_easy_cleanup(curl);
}

上述代碼演示了如何使用cURL庫向指定URL發送請求,并讀取JSON類型的響應,請注意設置Content-Type為application/json。

讀取響應數據的write_response_data函數可以參考以下實現:

size_t write_response_data(void *buffer, size_t size, size_t nmemb, void *userp) {
size_t total_size = size * nmemb;
char **response_data = (char **) userp;
*response_data = realloc(*response_data, total_size + 1);
if (*response_data == NULL) {
fprintf(stderr, "Failed to allocate memory.\n");
return 0;
}
memcpy(*response_data, buffer, total_size);
(*response_data)[total_size] = '\0';
return total_size;
}

在讀取響應數據時,我們需要使用malloc函數為響應數據分配內存,并在請求執行完畢后使用free函數釋放內存。

使用cURL庫發送HTTP請求和讀取響應數據非常方便,可以極大地簡化我們開發網絡應用程序的過程。