winapi获取网络文件大小

时间:2020-06-22 13:17:33   收藏:0   阅读:73
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类型,这样就能得到网络文件的大小了。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!