我想在一些C++代码中创建一个cURL请求,这将使我获得服务器中文件的长度而不下载文件。为此,我使用一些cURL选项来告诉我只需要请求响应中的标题,然后检查响应以获取文件长度。如何获得文件的长度,而无需在cURL二进制文件中下载获取请求
我设置以下请求选项:
curl_easy_setopt(_curl_handle, CURLOPT_HEADER, 1);
curl_easy_setopt(_curl_handle, CURLOPT_NOBODY, 1);
然后,处理请求,等待应答,其示出了OK=200
,最后查询文件长度:
curl_easy_getinfo(_curl_handle, CURLINFO_CONTENT_LENGTH_UPLOAD, &dResult);
但是我得到的文件长度为-1
。根据cURL文件,这意味着尺寸是未知的。 cURL如何从服务器获取文件长度信息?
这种信息不可用。尝试在命令行的同一个URL上运行'curl - head',看它是否显示文件大小。 –
如果我做了一个'curl --head“https:// ...”'它告诉我'curl:(1)协议https在libcurl中不被支持或禁用。如果我使用'“http://”'或不使用'“http://”'尝试使用'curl:(7)无法连接到主机'。 – rturrado
使用'curl --version'来查看curl.exe编译的功能。如果在支持列表中未提及“HTTPS”和“SSL”,则无法请求“HTTPS”网址。 –