Я использую libcurl для получения http-страниц, и я застрял в проблеме. страница Я пытаюсь получить это: http://newsnow.in/news/tunisians-head-to-elect-president-in-runoff-u-t-san-diegolibcurl stuck after redirect fail
Если вы откроете страницу, вы получите сообщение об ошибке о том, что страница не перенаправлять правильно. Когда я пытаюсь извлечь его, libcurl просто зависает, никакой ошибки вообще. Я также установил тайм-аут, который не работал, я думаю, так как он получил сообщение о переадресации. Вот мои настройки:
curl_easy_setopt(curl, CURLOPT_URL, "http://newsnow.in/news/tunisians-head-to-elect-president-in-runoff-u-t-san-diego"); // should be changed later with setLink()
/* example.com is redirected, so we tell libcurl to follow redirection */
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0");
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20);
/* send all data to this function */
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, filePtr);
и запустить его с обычным способом:
res = curl_easy_perform(curl);
любые идеи о том, что могло бы решить эту проблему?
вы можете попробовать добавить [ 'CURLOPT_VERBOSE'] (http://curl.haxx.se/libcurl/c/CURLOPT_VERBOSE.html), чтобы Libcurl выход более сообщений, чтобы вы знаете, что продолжается. Или вы можете просто использовать 'curl' инструмент для получения этого URL-адреса и посмотреть, что происходит. Если 'curl' отлично работает, вы можете использовать опцию' --libcurl FILE', чтобы позволить 'curl' переводить опции для кода для вас. – SSC