【问题标题】:GET : Getting an http response in C#GET : 在 C# 中获取 http 响应
【发布时间】:2015-11-20 00:31:27
【问题描述】:
WebRequest req = WebRequest.Create("[URL here]");
WebResponse rep = req.GetResponse();

我想深入了解 GetResponse 方法的相关性,现在它似乎已被弃用。

我共同破解的另一种方法可以完成工作。

HttpWebRequest request = (HttpWebRequest) WebRequest.Create(String.Format("http://mywebservicehere/dostuff?url=https://www.website.com"));
request.Method = "GET";

using (var response = (HttpWebResponse) (await Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, null)))
{                
    var encoding = ASCIIEncoding.ASCII;
    StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
}

想知道其他人可能使用过的任何替代方法吗?感谢您的帮助!

【问题讨论】:

  • 你可以试试这个:*.com/a/32031181/3134635
  • new WebClient().DownloadStringTaskAsync , httpClient.GetStringAsync
  • 谢谢大家,我去看看链接。

标签: c# visual-studio http get win-universal-app


【解决方案1】:

我想深入了解 GetResponse 方法的相关性, 它现在似乎已弃用。

它没有被弃用,在 UWP 的 .NET 中,它是一种异步方法。

    WebRequest req = WebRequest.Create("[URL here]");

    WebResponse rep = await req.GetResponseAsync();

想知道其他人可能使用过的任何替代方法吗?

除了 WebRequest 类之外,Windows 运行时平台中还有另外 2 个 HttpClient 类可用于获取 http 响应。

    var client1 = new System.Net.Http.HttpClient();

    var client2 = new Windows.Web.Http.HttpClient();

System.Net.Http.HttpClient 位于 UWP 的 .NET 中。 Windows.Web.Http.HttpClient 位于 Windows 运行时中。

【讨论】: