winapi获取网络文件大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winapi获取网络文件大小相关的知识,希望对你有一定的参考价值。
HINTERNET hNet = ::InternetOpen(L"Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if (hNet == NULL) { MessageBoxA(NULL, "hNet is NULL", NULL, NULL); } HINTERNET hUrlFile = ::InternetOpenUrlA(hNet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0); if (hUrlFile == NULL) { MessageBoxA(NULL, "hUrlFile is NULL", NULL, NULL); } char buffer[100]; DWORD bufLen = sizeof(buffer); DWORD WIndex = 0; memset(buffer, 0, 100); BOOL bQuery = ::HttpQueryInfoA(hUrlFile, HTTP_QUERY_CONTENT_LENGTH, buffer, &bufLen, &WIndex); dwFileSize = (DWORD)atoi(buffer); InternetCloseHandle(hUrlFile); InternetCloseHandle(hNet);
主要用到HttpQueryInfoA这个函数,第三个参数是用来接收CONTENT_LENGTH的,不过要用字符数组来接收,然后再用atoi转成int类型,这样就能得到网络文件的大小了。
以上是关于winapi获取网络文件大小的主要内容,如果未能解决你的问题,请参考以下文章