zoukankan      html  css  js  c++  java
  • curl检查远程文件是否存在

    size_t processdata(void *buffer, size_t size, size_t nmemb, void *user_p)
    {
      //写一个空的写函数
        return nmemb;
    }
    bool checkURLFileExist(std::string &path)
    {
        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;
    }
  • 相关阅读:
    NULL、nil、Nil、NSNull的区别
    URL中有中文字符,转码方法
    iOS极光推送 点击推送消息跳转页面
    iOS中响应者链条-触摸事件
    WKWebKit基础
    iOS开发之详解正则表达式
    iOS中正则表达式的三种使用方式
    VS下载Github的项目引用报错
    RabbitMQ环境搭建
    ASP.NET Core之NLog使用
  • 原文地址:https://www.cnblogs.com/howeho/p/3458004.html
Copyright © 2011-2022 走看看