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

c request post json

老白1年前8瀏覽0評論

cURL是一個非常流行的命令行工具,可以用來發送HTTP請求。當我們需要使用C語言實現HTTP請求時,可以使用cURL庫。在這篇文章中,我將介紹如何使用cURL庫發送POST請求,并將JSON作為請求主體發送。

#include <curl/curl.h>
#include <string.h>
// 回調函數,當CURL獲取到數據時調用
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
memcpy(userdata, ptr, size * nmemb);
return size * nmemb;
}
int main() {
// 初始化cURL。如果失敗,返回非0。
if (curl_global_init(CURL_GLOBAL_ALL)) {
return 1;
}
CURL *curl = curl_easy_init();
if (curl) {
// 設置URL
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api/v1/data");
// 設置請求方法為POST
curl_easy_setopt(curl, CURLOPT_POST, 1);
// 設置請求主體
curl_easy_setopt(curl, CURLOPT_POSTFIELDS,
"{\"name\": \"example\", \"value\": 123}");
// 設置請求主體的類型為JSON
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
// 設置回調函數,當獲取數據時調用write_callback
char result[1024];
curl_easy_setopt(curl, CURLOPT_WRITEDATA, result);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
// 執行請求
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK) {
printf("Failed to connect: %s\n", curl_easy_strerror(res));
} else {
printf("Result: %s\n", result);
}
// 清理cURL
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}

以上代碼中,我們首先初始化了cURL庫,然后創建了一個CURL句柄curl。接下來,我們設置URL為http://example.com/api/v1/data,并將請求方法設置為POST。然后,我們將JSON字符串設置為請求主體,設置請求主體的類型為JSON,并指定了當獲取數據時調用的回調函數write_callback。最后,我們執行了請求,并輸出了結果。