c++ curl get 访问网页(post关于curl 的文章都有就不介绍了)

来源:互联网 发布:国家税务总局网络大学 编辑:程序博客网 时间:2024/06/05 15:32
CURL* pEasyHandle = InitCurl();
CURLcode code;


if(NULL == pEasyHandle)
{
//curl_global_cleanup();
return false;
}

char* szpage = "www.baidu.com";
curl_easy_setopt(pEasyHandle, CURLOPT_URL, szpage);
//curl_easy_setopt(pEasyHandle, CURLOPT_POSTFIELDS, "XXXX");  //post访问网页
curl_easy_setopt(pEasyHandle, CURLOPT_WRITEFUNCTION, &process_data);

curl_easy_setopt(pEasyHandle, CURLOPT_TIMEOUT, 10);  //设置访问的超时

curl_easy_setopt(pEasyHandle, CURLOPT_FORBID_REUSE, 1);      //这个很重要,curl 有个重用机制,访问的链接不会立即释放,如果访问过于平凡的可能会导致服务器端口被沾满,无法访问的情况(CURLE_COULDNT_CONNECT /* 7 */ 这个是返回的错误码)

char szRet[1024] = {0};
curl_easy_setopt(pEasyHandle, CURLOPT_WRITEDATA, szRet);
code = curl_easy_perform(pEasyHandle);


if(CURLE_OK != code)
{
CleanCurl(pEasyHandle);
return false;

}


size_t process_data(void* buffer, size_t size, size_t nmemb, void* user_p)

{

strcat((char*)user_p, (char*)buffer);

return size*nmemb;

}

原创粉丝点击