使用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] = '';
    data += buffer;
    } while(readed);
}
原文地址:https://www.cnblogs.com/mforestlaw/p/3875765.html