C語言作為一種廣泛應用的編程語言,在許多開發場景中極為常見。而與之配套使用的網絡請求方式,也是各種項目中必不可少的一部分。
對于POST請求傳遞JSON數據請求接口而言,C語言客戶端實現起來也是相對簡單的。
下面以一個簡單的示例代碼為例:
#include#include #include #include int main() { // 初始化CURL curl_global_init(CURL_GLOBAL_ALL); CURL *curl = curl_easy_init(); if (curl) { // 設置請求地址 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api"); // 設置請求方式為POST curl_easy_setopt(curl, CURLOPT_POST, 1L); // 設置請求頭信息 struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); headers = curl_slist_append(headers, "charsets: utf-8"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); // 設置POST請求的JSON數據 char *data = "{\"name\":\"Jack\", \"age\":25}"; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); // 設置回調函數,獲取服務器返回結果 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, receive_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, NULL); // 發起請求 CURLcode 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資源 curl_easy_cleanup(curl); } // 全局清理CURL curl_global_cleanup(); return 0; } // 回調函數的實現,用于接收服務器返回的數據 size_t receive_data(char *ptr, size_t size, size_t nmemb, void *userdata) { printf("%.*s\n", size * nmemb, ptr); return size * nmemb; }
通過設置相應的請求內容和請求頭信息,結合使用curl_easy_setopt()函數以及回調函數的實現,即可輕松地發送POST請求并獲取JSON格式的服務器響應數據。
上一篇python 沒有控制臺
下一篇vue esop