"WebRequest.Create(string)"已过时: "WebRequest,使用HttpClient代替。"

5
我将我的.NET应用程序从NET5版本升级到NET6版本,发现出现了一个警告,提示WebRequest类已过时。我在网上查看了一些示例,但使用HttpClient不会自动获取凭据,就像WebRequest那样,您需要手动将它们插入字符串中。
如果要使用HttpClient类或类似的方法进行转换,应该如何操作?
 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();
1个回答

7

你尝试过以下方法吗?

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

有关凭据的更多信息:如何让 HttpClient 传递请求时的凭据?



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接