curl检查远程⽂件是否存在size_t processdata(void *buffer, size_t size, size_t nmemb, void *user_p)
{
//写⼀个空的写函数
return nmemb;
}
bool checkURLFileExist(std::string &path)curl是什么命令
{
CURL *handle = curl_easy_init();
if (! handle)
{
CCLOG("can not init curl");
return false;
}
// 设置本次会话的参数
// URL,就是我们要验证的⽹址
curl_easy_setopt(handle,CURLOPT_URL,path.c_str());
// 设置连接超时
curl_easy_setopt(handle,CURLOPT_CONNECTTIMEOUT,5);
// 只是获取HTML的header
curl_easy_setopt(handle,CURLOPT_HEADER,true);
curl_easy_setopt(handle,CURLOPT_NOBODY,true);
// 设置最⼤重定向数为0,不允许页⾯重定向
curl_easy_setopt(handle,CURLOPT_MAXREDIRS,0);
// 设置⼀个空的写⼊函数,屏蔽屏幕输出
curl_easy_setopt(handle,CURLOPT_WRITEFUNCTION,&processdata);
// 以上⾯设置的参数执⾏这个会话,向服务器发起请求
curl_easy_perform(handle);
// 获取HTTP的状态代码
// 根据代码判断⽹址是否有效
int retcode = 0;
curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE , &retcode);
bool res = false;
// 如果HTTP反应代码为200,表⽰⽹址有效
if(200 == retcode)
{
res = true;
}
// 执⾏会话的清理⼯作
curl_easy_cleanup(handle);
return res;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论