开头用的是openurl internetreadfile 但是速度 太慢了
这是 httqueryinfo 不知道为什么获取不到
看了半天不知道啥子问题, 哪位大牛给看看啥子问题, 另外如果有更好的方法获取页面字节数也给小弟告知下。
HINTERNET hSession = InternetOpen(_T("UrlTest"),PRE_CONFIG_INTERNET_ACCESS, NULL, INTERNET_INVALID_PORT_NUMBER, 0); //初始化网络
if(hSession != NULL)
{
CString cs1("");
CString cs2("");
CString ss("www.baidu.com");
HINTERNET ThConnect=InternetConnect(hSession,ss,INTERNET_INVALID_PORT_NUMBER,cs1,cs2,INTERNET_SERVICE_HTTP,0,0);//建立会话链接
if(ThConnect!=NULL)
{
CString requeststyle("GET");
CString sx("");
HINTERNET ThHttpFile=HttpOpenRequest(ThConnect,requeststyle,sx,HTTP_VERSION,NULL,0,INTERNET_FLAG_DONT_CACHE,0);
if(ThHttpFile!=NULL)
{
BOOL bSendRequest=HttpSendRequest(ThHttpFile,NULL,0,0,0);
int number=0;
while(bSendRequest==NULL)
{
bSendRequest=HttpSendRequest(ThHttpFile,NULL,0,0,0);
if(number==10)
{
break;
}
}
char bufQuery[32];
DWORD dwLengthBufQuery=sizeof(bufQuery);
if(bSendRequest==TRUE)
{
BOOL bQuery=HttpQueryInfo(ThHttpFile,HTTP_QUERY_CONTENT_LENGTH,bufQuery,&dwLengthBufQuery,0);
DWORD dwFileSize=(DWORD)atol(bufQuery); //将字符串转换成长整形
char *buffer=new char[dwFileSize+1];
DWORD dwBytesRead;
BOOL bRead=InternetReadFile(ThHttpFile,buffer,dwFileSize+1,&dwBytesRead);
buffer[dwBytesRead]=0;
CString sm;
sm.Format(_T("%ld"),dwBytesRead);
MessageBox(sm);
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!