下载网页的问题

问题描述

一个控制器 (MVC ASP.NET) 中,我需要下载一些网页并对其进行分析。 目前我使用的是 Visual Studio 2019 和 .NET Framework 4.8。

我的代码是这样的(简化):

public async void GetHtmlStream(Uri urlAddr)
{
    HttpClient client = new HttpClient();
    using (HttpResponseMessage Resp = client.GetAsync(urlAddr).Result)
    {
        using (HttpContent content = Resp.Content)
        {
            Stream stream = await content.ReadAsstreamAsync().Result;                
        }
    }
}

Stream stream = await content.ReadAsstreamAsync().Result; 不编译: “错误 CS1061 'Stream' 不包含 'GetAwaiter' 的定义......”

在测试程序中,避免异步和等待,我有这样的一行: string result = content.ReadAsstringAsync().Result; 一切正常。 在控制器中,当然没有任何作用。

我看到了很多类似的问题,但我不明白我该怎么做才能解决问题。

解决方法

试试

Stream stream = await content.ReadAsStreamAsync();

相反。