【问题标题】:C#: Error when HttpClient reponseC#:HttpClient 响应时出错
【发布时间】:2016-10-06 07:30:26
【问题描述】:

我在 C# 控制台应用程序中使用 HttpClient 执行 HTTP 获取请求。我没有得到一个获取请求的预期响应。

获取请求就像 http://example.com/xyz/SearchProduct?productNo=11210&1d6rstc9xc=5jyi27htzk

我得到了一些模糊的响应,但是当我对提琴手进行相同的获取请求时,它给出了预期的响应。

如何从 httpClient.GetAsync(url) 获得预期的响应?

代码是:-

            var httpClient = new HttpClient();
            var url = "http://example.com/xyz/SearchProduct?productNo=11210&1d6rstc9xc=5jyi27htzk";

            HttpResponseMessage response1 = await httpClient.GetAsync(url);

            if (response1.IsSuccessStatusCode)
            {

                HttpContent stream = response1.Content;
                Task<string> data = stream.ReadAsStringAsync();

            }

【问题讨论】:

  • 如果您需要帮助,请显示代码。
  • @mybirthname - 添加代码
  • var r = await httpClient.GetAsync(url); var result = await r.Content.ReadAsAsync&lt;YourType&gt;()(ReadAsAsync 是 NewtonSoft 的一种扩展方法
  • 那么您是否检查过我的解决方案是否有效?

标签: c# .net console-application httpclient


【解决方案1】:

你应该这样读成字符串:

string result = await stream.ReadAsStringAsync();

而不是那个:

Task<string> data = stream.ReadAsStringAsync();

Here full code exampleanother example

【讨论】:

    【解决方案2】:

    这是一个使用 async/await 方法的完整方法。

       private static async Task<string> GetRequestContentAsString(string url)
        {
            var data = string.Empty;
    
            using (var httpClient = new HttpClient())
            {
                var response = await httpClient.GetAsync(url);
    
                if (response.IsSuccessStatusCode)
                {
                    var stream = response.Content;
                    data = await stream.ReadAsStringAsync();
                }
            }
    
            return data;
        }
    

    这个方法是这样调用的:

    var content = await GetRequestContentAsString("http://www.bing.com");
    

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 2013-05-16
      • 2016-12-20
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      相关资源
      最近更新 更多