curl_easy_perform:无法解析主机名

时间:2016-09-25 03:40:18

标签: c++ libcurl

我对libcurl有一个奇怪的问题 - 它拒绝解析特定的网址,返回错误消息“无法解析主机名”。解决其他主机没有问题。我怀疑原因是失败的URL返回302重定向,但我已经设置了适当的选项来跟随它。

相关网址:http://servermods.cursecdn.com/files/922/48/worldedit-bukkit-6.1.3.jar

相关代码:

CURL* curl;
FILE* data;
std::string url;

// ...

curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
curl_easy_setopt(curl, CURLOPT_FILE, data);
curl_easy_setopt(curl, CURLOPT_URL, url);

curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, true);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);

CURLcode res = curl_easy_perform(curl);

1 个答案:

答案 0 :(得分:8)

libcurl预计char*CURLOPT_URL。我的代码传递的是string。这实质上导致库误解字符串并且无法解析主机。