HttpQueryInfo 获取服务器文件大小 问题
qjzrd 2009-08-30 08:56:52 #include <time.h>
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <winsock.h>
#include <wininet.h>
#pragma comment(lib, "wininet.lib")
#pragma comment(lib,"WSOCK32.lib")
long CGetServerFileSize(const char *httpurl)
{
char Buffer[32] = {0};
DWORD BufLen = sizeof(Buffer);
DWORD WIndex = 0;
long dwFileSize = 0;
HINTERNET hOpen = InternetOpen("Update1.0", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
HINTERNET HTTPConnect = InternetOpenUrl(hOpen, httpurl, NULL, 0, INTERNET_FLAG_RELOAD, 0);
::HttpQueryInfo(HTTPConnect,HTTP_QUERY_CONTENT_LENGTH, Buffer, &BufLen, &WIndex);
dwFileSize = (DWORD)atol(Buffer);
printf("%s\n", Buffer);
InternetCloseHandle(HTTPConnect);
InternetCloseHandle(hOpen);
return dwFileSize;
}
void main(void)
{
CGetServerFileSize("http://127.0.0.1/赵咏华-最浪漫的事.mp3");
}
发现要是用含有中文的名字 去获取大小就不对, 要是换成英文的文件名就可以了, 那么怎么做让它用中文的也可以呢 谢谢