在進行web開發過程中,post請求是相當常見的操作。假如我們想要進行一個post請求,請求內容包含多個參數,并且參數類型是json格式,應該怎么操作呢?下面我來介紹一下使用c語言實現post請求,參數類型為json格式且請求包含多個參數的步驟。
#include#include #include #include int main(void){ CURL *curl; CURLcode res; char *postdata = "{\"name\":\"Tom\",\"age\":20,\"city\":\"Shanghai\"}"; //這里是請求的json數據 curl = curl_easy_init(); if(curl) { struct curl_slist *headers = NULL; //這里定義一個headers headers = curl_slist_append(headers, "Content-Type: application/json"); //將Content-Type設置為application/json headers = curl_slist_append(headers, "Accept: application/json"); //設置Accept為application/json curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/api/submit"); //設置請求的URL curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); //設置自定義請求頭 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postdata); //將postdata作為請求體 curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, strlen(postdata)); //設置請求體的大小 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; }
使用c語言編寫post請求需要用到libcurl庫。具體操作是創建一個CURL型指針,添加請求頭,設置請求體、URL、大小等參數,最后發出請求即可。另外,我們也需要注意設置請求頭的Content-Type為application/json,Accept也應該設置成application/json,這樣服務端才知道我們將請求數據作為json格式處理。