为什么InternetReadFile不能抓取网站的全部资源?



所以我正在用WinInet.h库编写一个项目,我使用字符串比较来检查某个字符串是否在源代码中,除了InternetReadFile没有抓取整个源代码,它只抓取顶部20%,我尝试增加NumberOfBytes参数,我将其增加到1000万,现在它只需要永远。基本上,我有一个程序,你点击一个按钮,它抓取源代码,并显示在一个消息框。我试图使它,当你点击按钮,它通过源代码搜索特定字符串显示一个消息框,说文本被找到。

谁知道我能做什么?

来自文档:

每次调用InternetReadFile要读取的数据量由dwNumberOfBytesToRead参数指定,数据在lpBuffer参数中返回。对于每次调用InternetReadFile,正常读取将检索指定的dwNumberOfBytesToRead,直到到达文件的末尾。为确保检索到所有数据,应用程序必须继续调用InternetReadFile函数,直到该函数返回TRUElpdwNumberOfBytesRead参数等于零。

所以你必须在一个循环中调用InternetReadFile(),直到你收到你所期望的所有数据。由于您正在进行字符串搜索,因此需要缓冲读取数据,然后扫描缓冲区,因为您正在查找的字符串可能会在多个InternetReadFile()调用中以几块形式出现。

最新更新