我想在一些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」網址。 –