当HttpClient响应时出错
本文关键字:出错 响应 HttpClient | 更新日期: 2023-09-27 18:11:41
我在c#控制台应用程序中使用HttpClient
做HTTP get请求。我没有得到一个get请求的预期响应。
Get Request就像http://example.com/xyz/SearchProduct?productNo=11210& 1 d6rstc9xc = 5 jyi27htzk
我得到一些模糊的响应,但当我做同样的得到请求与小提琴手它给出预期的响应。
我如何从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();
}
你应该这样读:
string result = await stream.ReadAsStringAsync();
而不是:
Task<string> data = stream.ReadAsStringAsync();
下面是完整的代码示例和另一个示例
这是一个使用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");