欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 發送post json數據

林國瑞2年前9瀏覽0評論

在 C 語言中,發送 POST 請求并攜帶 JSON 數據需要借助 libcurl 庫。libcurl 是一個可重入的,開源的客戶端 URL 傳輸庫,可以支持多種網絡協議,例如 HTTP、HTTPS、FTP 等。

要使用 libcurl 發送 POST 請求,我們需要以下步驟:

  1. 初始化 libcurl。
  2. 設置 HTTP 請求頭信息,包括 Content-Type 和 Content-Length。
  3. 設置 HTTP 請求體,即 JSON 數據。
  4. 發送 HTTP 請求。
  5. 接收 HTTP 響應,可以分塊接收。
  6. 清理 libcurl 環境。

下面是一個簡單的 C 語言程序,演示如何使用 libcurl 發送 POST 請求并攜帶 JSON 數據。

#include#includeint main(void)
{
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if(curl)
{
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{\"name\": \"Alice\", \"age\": 25}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api");
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}

在這個例子中,我們使用了 curl_slist_append() 函數設置了 Content-Type 請求頭,它指定了請求體的類型為 application/json。同理,我們也可以通過設置 Accept 請求頭來指定響應體的類型。

接下來,我們通過 curl_easy_setopt() 函數設置了請求體的內容,并通過 CURLOPT_URL 選項設置了請求地址。

最后,我們調用 curl_easy_perform() 函數執行 HTTP 請求,并根據返回值判斷請求是否成功。如果請求失敗,我們使用 fprintf() 函數輸出錯誤信息。

這樣,我們就成功使用 C 語言發送了 POST 請求并攜帶 JSON 數據。