Я использую curl для доступа к файлу по указанному URL. Я использую VC ++ 2010 и curl 7.21.2 (я сам скомпилировал) с wxWidgets для пользовательского интерфейса (все встроенные в юникоде, кроме curl). У меня нет проблем в моей сборке релиза, но тот же код (ниже) завершается неудачно в отладочной сборке с ошибкой CURLE_COULDNT_RESOLVE_HOST для того же URL.
Вот код:
CURL * pEasyHandle = curl_easy_init();
if(!pEasyHandle)
return wxEmptyString;
CURLcode curlcode;
curlcode = curl_easy_setopt(pEasyHandle, CURLOPT_VERBOSE, 1); // this is in ifdef _DEBUG actually
curlcode = curl_easy_setopt(pEasyHandle, CURLOPT_HTTPGET, 1);
curlcode = curl_easy_setopt(pEasyHandle, CURLOPT_URL, url.ToStdString());
curl_easy_setopt(pEasyHandle, CURLOPT_WRITEFUNCTION, writer);
curl_easy_setopt(pEasyHandle, CURLOPT_TIMEOUT, 10);
curl_easy_setopt(pEasyHandle, CURLOPT_CONNECTTIMEOUT , 10);
wxString fileListString = wxEmptyString;
curl_easy_setopt(pEasyHandle, CURLOPT_WRITEDATA, &fileListString);
curlcode = curl_easy_perform(pEasyHandle); // post away!
if(curlcode == CURLE_OK)
{
// cannot enter here in debug mode
}
else
{
m_errorString = curl_easy_strerror(curlcode);
wxMessageBox(m_errorString);
}
curl_easy_cleanup(pEasyHandle);