C語言中的POST方法可以用于向Web服務器發送HTTP請求,獲取響應數據。若響應數據以JSON格式返回,我們可以使用以下代碼獲取JSON字符串:
#include <stdio.h>
#include <curl/curl.h>
int main() {
CURL *curl;
CURLcode res;
char *url = "https://example.com/api"; // 填寫請求的API地址
char *post_fields = "username=john&password=pass"; // 填寫POST請求的數據字段
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_fields);
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(post_fields));
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "Content-Type: application/json"); // 設置請求頭信息
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback); // 設置回調函數
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
在上述代碼中,我們通過CURL
庫初始化curl
對象,并使用它發送一個POST方法的HTTP請求。
具體來說,我們通過curl_easy_setopt()
函數設置了請求的目標地址、POST請求所傳遞的數據字段、請求頭信息以及一個回調函數(用于獲取服務器響應的JSON數據)。
最后,我們通過curl_easy_cleanup()
函數關閉curl
對象并釋放相關資源。