http上报

size_t write_post_resp(void *ptr, size_t size, size_t nmemb, void *stream)
{
    if (strlen((char *)stream) + strlen((char *)ptr) > 4096) return 0;
    memcpy((char *)stream+strlen((char*)stream), (char *)ptr, size*nmemb);
    return size*nmemb;
}

//上报函数
//common_SendHttpPostMsg
#if 1
static int g_nSendHttpPostMsg(char *url, char *reqmsg, char *respmsg) {
	CURL *curl = NULL;
	CURLcode res;

	curl = curl_easy_init();
	if (curl) {
		curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10);
		curl_easy_setopt(curl, CURLOPT_URL, url);
        //"Content-Type:application/json;charset=UTF-8"需要根据实际情况来定
		curl_slist *plist = curl_slist_append(NULL,
				"Content-Type:application/json;charset=UTF-8");
		curl_easy_setopt(curl, CURLOPT_HTTPHEADER, plist);
		curl_easy_setopt(curl, CURLOPT_POSTFIELDS, reqmsg);
		curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_post_resp);
		curl_easy_setopt(curl, CURLOPT_WRITEDATA, respmsg);

		res = curl_easy_perform(curl);
		if (res != CURLE_OK) {
			curl_easy_cleanup(curl);
			return -1;
		}
		curl_easy_cleanup(curl);

		return 0;
	}
}


#endif

猜你喜欢

转载自blog.csdn.net/qq_34738528/article/details/81809952