gpt4 book ai didi

c++ - 在 Debug模式下 curl CURLE_COULDNT_RESOLVE_HOST

转载 作者:行者123 更新时间:2023-11-30 04:36:48 29 4
gpt4 key购买 nike

我正在使用 curl 访问指定 url 中的文件。我使用 VC++ 2010 和 curl 7.21.2(我自己编译)和 wxWidgets 用于用户界面(除 curl 外,均内置 unicode)。我的发布版本没有问题,但相同的代码(如下)在调试版本中失败,同一 url 出现 CURLE_COULDNT_RESOLVE_HOST 错误。

代码如下:

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);

最佳答案

下面一行似乎是问题所在:

curlcode = curl_easy_setopt(pEasyHandle, CURLOPT_URL, url.ToStdString());

如果我的假设是正确的,ToStdString 返回一个 std::string 而不是 C 字符串。 curl 是一个 C 库,因此它需要 char *-s。

你能说出 url 是什么类型吗?

关于c++ - 在 Debug模式下 curl CURLE_COULDNT_RESOLVE_HOST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4293625/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com