使用InternetReadFile时要注意读取完整数据

使用这个api读取数据后,即使数据不完整,该函数不会报任何错,GetLastError也显示操作成功。使用时要注意通过其参数判断是否读取完毕

void InternetReadFileEx(HINTERNET request, std::string& data) {
    DWORD readed = 0;
    char buffer[1025];
    do {
    ZeroMemory(buffer, 1025);
    InternetReadFile(request, buffer, 1024, &readed);
    buffer[readed] = '\0';
    data += buffer;
    } while(readed);
}

 

posted @ 2014-07-29 16:17  琼'  阅读(4800)  评论(0编辑  收藏  举报