Как вызовите Timeout a victe a libcurl C ++ и / или знаете, когда произошло время ожидания в вызове

Я пытаюсь загрузить Remote HTML-страницы с моей программой C ++, однако с некоторыми 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);
    }
}

Вот моя функция для загрузки HTML-источника страницы в строковую переменную, называемую «PageInformation» через функцию «dignpageInformation».

7
задан Ben Clooney 4 September 2011 в 18:54
поделиться