1. 程式人生 > 其它 >C/C++中,利用curl庫函式傳送簡單的POST請求

C/C++中,利用curl庫函式傳送簡單的POST請求

技術標籤:c/c++httpjsonc++c語言

C/C++中,利用curl庫函式傳送簡單的POST請求

void curl_post(const char *json)
{
	const char *url ="http://www.baidu.com:80"; //ip+埠
	CURLcode result;
	CURL *h = curl_easy_init();
	if (h) {
 		 curl_slist *plist = curl_slist_append(NULL, "Content-Type:application/json;");//新增head,代表資料為json格式
curl_easy_setopt(h, CURLOPT_HTTPHEADER, plist); curl_easy_setopt(h, CURLOPT_URL, url);//傳送的url curl_easy_setopt(h, CURLOPT_POSTFIELDS,json);//待發送的資料 curl_easy_setopt(h, CURLOPT_NOSIGNAL, 1L); curl_easy_setopt(h, CURLOPT_WRITEFUNCTION, update);//返回的回撥函式 result = curl_easy_perform(
h);//阻塞等待結束 curl_easy_cleanup(h); } }
void update(void *ptr, size_t size, size_t nmemb, void *userp)
{
	UNUSED(userp);
	char json[2*1024];
	size_t real_size = nmemb * size;
    	memset(json, 0, 2*1024);
   	memcpy(json, ptr, size*nmemb);
    	json[size*nmemb]= 0;
    	return real_size;//資料過大時,會多次呼叫回撥函式,每次需要返回所接收的大小
}