HttpClient Request
HttpClient class provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.
Namespace: Windows.Web.Http;
Assembly: Windows.Web.Http (in Windows.Web.Http.dll)
Simple HttpClient Request GET
This is a simple example for get a string as a response, from HttpClient request.
using Windows.Web.Http;
public async void GetaString() { try { //Create HttpClient HttpClient httpClient = new HttpClient(); //Define Http Headers httpClient.DefaultRequestHeaders.Accept.TryParseAdd("application/json"); //Call string ResponseString = await httpClient.GetStringAsync( new Uri("http://www.csharpteacher.com/Api/getinfo")); //Replace current URL with your URL } catch(Exception ex) { //.... } }
Get full response HttpClient Request GET
If you want to get all the information ( like Headers, Response codes etc..) with response then this method is the suitable one.
Hope this will helpful
Thank You :)
public async void GetFullResponse() { try { //Create Client var client = new HttpClient(); //Define URL. Replace current URL with your URL
//Current URL is not a valid one
var uri = new Uri("http://www.csharpteacher.com/Api/getinfo");
//Call. Get response by Async
var Response = await client.GetAsync(uri);
//Result & Code
var statusCode = Response.StatusCode;
//If Response is not Http 200
//then EnsureSuccessStatusCode will throw an exception
Response.EnsureSuccessStatusCode();
//Read the content of the response.
//In here expected response is a string.
//Accroding to Response you can change the Reading method.
//like ReadAsStreamAsync etc..
var ResponseText = await Response.Content.ReadAsStringAsync();
}
catch(Exception ex)
{
//...
}
}
HttpClient How to read response headers
public async void ReadHeaders() { try { //Create Client var client = new HttpClient(); //Define URL. Replace current URL with your URL //Current URL is not a valid one var uri = new Uri("http://www.csharpteacher.com/Api/getinfo"); //Call. Get response by Async var Response = await client.GetAsync(uri); //If Response is not Http 200 //then EnsureSuccessStatusCode will throw an exception Response.EnsureSuccessStatusCode(); //Grab each header one by one foreach (var header in Response.Headers) { //Header string headerItem = header.Key + " = " + header.Value; //Showing each header one by one in a MessageDialog showMessage(header.Key + " = " + header.Value); } } catch (Exception ex) { //... } } //Showing header in a MessageDialog public async void showMessage(string header) { MessageDialog message = new MessageDialog(header); await message.ShowAsync(); }
Hope this will helpful
Thank You :)
Comments