小编Ben*_*ney的帖子

如何超时libcurl C++调用和/或知道调用何时发生超时

我正在尝试使用我的C++程序下载远程html页面,但是有些URL会发生超时,但我不知道如何处理这个,所以程序将无限期挂起.

virtual void downloadpage(string pageaddress) {
    CURL *curl;
        CURLcode informationdownloaded;
        curl = curl_easy_init();
        if (curl) { 
            curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
            curl_easy_setopt(curl, CURLOPT_URL, pageaddress.c_str());
            curl_easy_setopt(curl, CURLOPT_HEADER, 0);
            curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writepageinformation);
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &pageinformation);
            informationdownloaded = curl_easy_perform(curl);
            curl_easy_cleanup(curl);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我通过"writepageinformation"函数将页面的html源代码下载到名为"pageinformation"的字符串变量的功能.

c++ timeout libcurl

7
推荐指数
2
解决办法
5110
查看次数

标签 统计

c++ ×1

libcurl ×1

timeout ×1