'WebRequest.Create(string)' 已过时:'WebRequest, Use HttpClient instead.'

'WebRequest.Create(string)' is obsolete: 'WebRequest, Use HttpClient instead.'

我将我的 .NET 应用程序从 NET5 版本升级到 NET6,并放置了 WebRequest class 已过时的警告。我在网上看了几个例子,但是使用 HttpClient 不会像 WebRequest 那样自动获取凭据,因为您需要手动将它们插入到字符串中。

我如何使用 HttpClient class 或类似工具转换它?

 string url = "website.com";
        WebRequest wr = WebRequest.Create(url);
        wr.Credentials = CredentialCache.DefaultCredentials;
        HttpWebResponse hwr = (HttpWebResponse)wr.GetResponse();
        StreamReader sr = new(hwr.GetResponseStream());
        
    
        sr.Close();
        hwr.Close();

您尝试过以下方法吗?

var myClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });
var response = await myClient.GetAsync("website.com");
var streamResponse = await response.Content.ReadAsStreamAsync();

有关凭据的更多信息: