Запрос данных с сервера используя HttpClient
Используем класс HttpClient:
public async static Task<string> GetHttpResponse(string url)
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
if (response.StatusCode == HttpStatusCode.OK)
return await response.Content.ReadAsStringAsync();
else
throw new Exception("Error connecting to " + url +" ! Status: " + response.StatusCode);
}
Или еще более кратко:
public async static Task<string> GetHttpResponse(string url)
{
HttpClient client = new HttpClient();
return await client.GetStringAsync(url);
}
Если в запросе происходит ошибка, то GetStringAsync бросит исключение HttpResponseException
.