我正在使用HttpClient.GetStringAsync来制作一个web抓取应用程序,该方法将在一次运行过程中在5000多个网页上调用。页面本身非常简单,我所做的只是解析源代码来提取一些字符串,但是我很好奇这会对我的web带宽造成什么样的影响。
GetStringAsync是只下载源代码,还是会下载嵌入的资源,如图像、谷歌地图控件、脚本等.一定要在某个时候加载/运行,而方法是这样做的吗?
下面是chrome网络监视器工具在加载我感兴趣的一个页面时显示的示例:

我只关心顶部的圆圈图,因为这是我的源代码。是所有的GetStringAsync方法都需要下载,还是其他更多的数据密集型的东西也会出现在后台,并膨胀这个数字?
发布于 2022-06-06 13:01:06
HttpClient不是一个web浏览器(引擎),它的行为也不像一个web浏览器。
HttpClient.GetStringAsync将只从服务器接收(下载)响应/资源。HttpClient不会分析和解析该资源可能是什么。从HttpClient.GetStringAsync的角度来看,它只是试图从服务器获得一个响应,服务器的有效负载应该是文本数据(一个字符串)。就这样。无论响应是一些HTML,一些json文本,还是只是一些字母汤与HttpClient无关,因为HttpClient不是一个web浏览器引擎。
总结如下:
GetStringAsync是只下载源代码,还是会下载嵌入的资源,如图像、谷歌地图控件、脚本等.
它只下载源代码,因为HttpClient不是一个web浏览器引擎。
https://stackoverflow.com/questions/72517987
复制相似问题