我創建了一個程序,使用curl從INTERNET下載字幕
如何知道我下載的文件的擴展名(.zip或.rar)?確定使用捲曲下載文件時的擴展名?
這裏是我的代碼(它的功能的一部分)
FILE* download=fopen("download.zip","wb");//i assume it's a zip
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_POST,1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS,post_data.c_str());
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
curl_easy_setopt(curl, CURLOPT_URL,url.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write2file);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, download);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
std::cout<<"Download Failed "<<std::endl;
curl_easy_cleanup(curl);
fclose(download);
文件擴展名是服務器說的。不是你可以輕鬆控制的東西。相反,你應該檢查結果的MIME類型。 – 2012-08-12 13:24:08
我已經試過,通過獲取標題然後解析它,但到那時該文件將被寫入 – andrewmag 2012-08-12 13:29:12