在C++中使用 Curl 7.47.1 重定向 url

Redirect url with Curl 7.47.1 in C++

本文关键字:重定向 url Curl C++      更新时间:2023-10-16

我正在使用 Curl 7.47.1 下载重定向网址。但是,它总是返回

CURLE_UNSUPPORTED_PROTOCOL

char *url = "http://www.foxitsoftware.com/downloads/latest.php?product=Foxit-Reader&platform=Windows";
CURL * m_curl;
FILE pFile = fopen(outfilename,"wb");

m_curl = curl_easy_init();
curl_easy_setopt(m_curl, CURLOPT_URL, url);
curl_easy_setopt(m_curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(m_curl, CURLOPT_WRITEDATA, pFile);
curl_easy_setopt(m_curl, CURLOPT_HEADER, 1L);
curl_easy_setopt(m_curl, CURLOPT_HEADERFUNCTION, HeaderCallback);
CURLcode res =  curl_easy_perform(m_curl);
  1. CURLOPT_VERBOSE设置为 1L 以获取一些其他信息。
  2. 错误代码CURLE_UNSUPPORTED_PROTOCOL意味着您正在通过 libcurl 构建不支持的协议请求资源/URL。当您遵循重定向时,这可能意味着第一台服务器会将您重定向到不受支持的协议。您可能需要重建 libcurl 以使其支持该协议,或者您使用的是 libcurl 根本不支持的罕见协议。