You can use the HttpClient class, something like this:
public async static Task<string> GetHttpResponse(string url)
{
var request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.Add("UserAgent", "Windows 8 app client");
var client = new HttpClient();
var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
if (response.IsSuccessStatusCode)
return await response.Content.ReadAsStringAsync();
else
throw new Exception("Error connecting to " + url +" ! Status: " + response.StatusCode);
}
A simplified version will be simple:
public async static Task<string> GetHttpResponse(string url)
{
var client = new HttpClient();
return await client.GetStringAsync(url);
}
But if an HTTP error occurs, GetStringAsync will throw an HttpResponseException, and as far as I can see, there is no http status, except for the exception message.
UPDATE:
, RSS-, HttpClient XML, SyndicationFeed, :
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh452994.aspx