代码之家  ›  专栏  ›  技术社区  ›  greg

GET:获取C语言中的http响应#

  •  -1
  • greg  · 技术社区  · 9 年前
    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);
    }
    

    想知道其他人可能使用的其他方法吗?谢谢你的帮助!

    1 回复  |  直到 3 年前
        1
  •  2
  •   Jeffrey Chen    9 年前

    我想了解GetResponse方法的相关性, 现在看来它已经过时了。

    在.NET for UWP中,它是一种异步方法。

        WebRequest req = WebRequest.Create("[URL here]");
    
        WebResponse rep = await req.GetResponseAsync();
    

    想知道其他人可能使用的其他方法吗?

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

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

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