C語言是一種廣泛應用的編程語言,其強大的數據處理和存儲能力,使其在網絡編程中也有著非常重要的地位,本文介紹如何使用C語言發送POST請求并返回JSON數據。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h> size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) { size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); return written; } int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { /* 設置POST請求屬性 */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api/login"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "username=test&password=123456"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout); /* 執行請求 */ res = curl_easy_perform(curl); /* 檢查錯誤 */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* 釋放curl變量 */ curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; }
代碼中使用的是libcurl庫,此庫提供了良好的網絡請求和處理的功能,使用非常方便。首先需要進行全局初始化,然后初始化curl變量,并設置url和POST請求參數,最后執行請求并處理返回的數據。
上述代碼只是演示了發送POST請求的方式,如果需要返回JSON數據,則需要使用JSON解析庫對返回的數據進行處理。常用的JSON解析庫有cJSON等。
上一篇vue dragsort
下一篇python 統計記錄數