gpt4 book ai didi

C++ WinHTTP API 读取数据

转载 作者:行者123 更新时间:2023-11-28 03:44:21 26 4
gpt4 key购买 nike

我正在尝试从网页下载数据然后解析它,问题是我无法获取 pszoutbuffer 的值(ZeroMemory 函数将其删除)我采取了来自 MSDN 示例的代码

void  http_connect::read_data(void)
{

// Keep checking for data until there is nothing left.
if( bResults )
{

do
{
// Check for available data.
dwSize = 0;
if (!WinHttpQueryDataAvailable( hRequest, &dwSize))
printf( "Error %u in WinHttpQueryDataAvailable.\n",
GetLastError());

// Allocate space for the buffer.
pszOutBuffer = new char[dwSize+1];
if (!pszOutBuffer)
{
printf("Out of memory\n");
dwSize=0;
}
else
{
// Read the Data.
ZeroMemory(pszOutBuffer, dwSize+1);

if (!WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,
dwSize, &dwDownloaded))
{
printf( "Error %u in WinHttpReadData.\n",
GetLastError());
}


}

} while( dwSize > 0 );
}
}

最佳答案

我认为在 WinHttpReadData 之后,您应该立即将 pszOutBuffer 的内容附加到一个字符串中,以便您稍后可以使用它。
正如您所说, pszOutBuffer 在每次循环迭代中都会不断被覆盖。看起来它只是临时存储空间,供您复制到永久存储空间。

关于C++ WinHTTP API 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060249/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com