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

c post調用json

張吉惟2年前10瀏覽0評論

C語言中,POST調用JSON是非常常見的操作,可以用于與服務器進行數據交互。在這里,我們來介紹一下如何使用C語言中的POST調用JSON。

#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
#include <string.h>
/**
 * 發送POST請求
 */
int post(char *url, char *postData, char *response) {
// 初始化CURL
CURL *curl = curl_easy_init();
if (!curl) {
return -1;
}
// 設置請求URL
curl_easy_setopt(curl, CURLOPT_URL, url);
// 設置請求方式為POST
curl_easy_setopt(curl, CURLOPT_POST, 1L);
// 設置發送的數據
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData);
// 設置接收響應的變量
curl_easy_setopt(curl, CURLOPT_WRITEDATA, response);
// 執行請求
CURLcode res = curl_easy_perform(curl);
if (res != CURLE_OK) {
return -1;
}
// 清理CURL
curl_easy_cleanup(curl);
return 0;
}
/**
 * 發送JSON數據
 */
int postJSON(char *url, char *json, char *response) {
// 設置請求頭
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
// 發送請求
int status = post(url, json, response);
// 清理請求頭
curl_slist_free_all(headers);
return status;
}
int main() {
char *url = "https://example.com/api";
char *json = "{ \"name\": \"John\", \"age\": 30 }";
char response[1024] = {0};
if (postJSON(url, json, response) == 0) {
printf("%s\n", response);
} else {
printf("error\n");
}
return 0;
}

在這里,我們使用了第三方庫CURL來完成請求的發送。我們通過封裝POST請求的方法post()來發送請求,并將請求結果寫入response中。而在發送JSON數據時,我們需要設置請求頭為application/json,并調用封裝好的post()方法。最終,我們將請求結果打印出來,完成了一次POST調用JSON的操作。