在 C 語言中,我們可以使用 libcurl 庫來進行 http 請求。本文將簡單介紹如何使用 libcurl 發送一個帶有 json 數據格式的 http 請求。
首先,需要在代碼中引入 curl.h 頭文件:
#include <curl/curl.h>
然后,準備好要發送的 json 數據:
char *json_data = "{ \"name\": \"apple\", \"price\": 1.2 }";
接著,需要用 curl_easy_init() 函數創建一個 curl 句柄:
CURL *curl = curl_easy_init();
設置要發送的 url:
curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com");
設置 http 請求頭信息:
struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
設置請求類型為 POST:
curl_easy_setopt(curl, CURLOPT_POST, 1L);
設置要發送的數據:
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_data);
發送請求:
CURLcode res = curl_easy_perform(curl);
最后別忘了釋放 curl 句柄和 headers:
curl_easy_cleanup(curl); curl_slist_free_all(headers);
完整代碼如下:
#include <curl/curl.h> int main() { char *json_data = "{ \"name\": \"apple\", \"price\": 1.2 }"; CURL *curl; CURLcode res; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POST, 1L); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_data); res = curl_easy_perform(curl); curl_easy_cleanup(curl); curl_slist_free_all(headers); return 0; } }
下一篇vue動態修改bg