在C語言中,使用HTTP協(xié)議發(fā)送請求可以使用libcurl庫進行封裝。而對于帶有json參數(shù)的請求,需要進行特殊處理。
/* 使用curl發(fā)送POST請求,帶有json格式的參數(shù) */ #include#include int main(void) { CURL *curl; CURLcode res; /* json格式字符串 */ const char* json_data = "{\"name\":\"小明\", \"age\":18}"; /* 服務(wù)器接口地址 */ const char* request_url = "http://example.com/api"; /* 初始化 */ curl = curl_easy_init(); if(curl) { /* 設(shè)置請求url */ curl_easy_setopt(curl, CURLOPT_URL, request_url); /* 設(shè)置請求方式為POST */ curl_easy_setopt(curl, CURLOPT_POST, 1); /* 設(shè)置POST請求參數(shù)的類型為json */ struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); /* 設(shè)置POST請求的參數(shù) */ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_data); /* 發(fā)送請求 */ res = curl_easy_perform(curl); /* 清理 */ curl_easy_cleanup(curl); } return 0; }
以上是一個使用C語言和libcurl庫進行POST請求帶有json參數(shù)的例子。在這里,需要設(shè)置請求參數(shù)的類型為application/json,然后傳入json格式的字符串。這樣服務(wù)器在接收到請求時就可以正確地解析JSON數(shù)據(jù)。