我正在使用CURL下载文件,请遵循topic。
我的代码是
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, FILE *stream)
{
size_t written = fwrite(contents, size, nmemb, stream);
return written;
}
//...
int main(void) {
CURL *curl;
CURLcode res;
FILE *fp;
char outFilename[256] = "test.bin";
curl = curl_easy_init();
if (curl) {
fp = fopen(outfilename,"wb");
curl_easy_setopt(curl, CURLOPT_URL,"https://speed.hetzner.de/100MB.bin");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
fclose(fp);
}
return 0;
}
但是,如果在下载过程中连接断开,则代码未通过此行代码curl_easy_cleanup(curl);
传递,我必须等待很长时间。我的问题是:
当互联网丢失时,如何通过功能curl_easy_cleanup(curl);
设置超时?