我对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);
答案 0 :(得分:8)
libcurl
预计char*
为CURLOPT_URL
。我的代码传递的是string
。这实质上导致库误解字符串并且无法解析主机。