Get a string
httpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.TRyParseAdd("application/json");
string responseText = await httpClient.<strong>GetStringAsync</strong>(new Uri("http://services.odata.og/Northwind/Northwind.svc/Suppliers"));Tip: Resolve the correct Type
- var Client = new Windows.Web.Http.HttpClient();
Get Full Responsetry
{
var client = new HttpClient();
var uri = new Uri("http://example.com/customers/1");
var response = await client.GetAsync(uri);
var statusCode = response.StatusCode;
// EnsureSuccessStatusCode throws Exception if not HTTP 200
response.EnsureSuccessStatusCode();
var responseText = await response.Content.ReadAsStringAsync();
}
catch(Exception ex)
{
//...
}
Reading response Headers
try
{
var client = new HttpClient();
var uri = new Uri("http://example.com/customers/1");
var response = await client.GetAsync(uri);
foreeach(var header in response.Headers)
{
HeadersText.Text += header.Key + " " + header.Value + "\n";
}
ResultsText.Text = await response.Content.ReadAsStringAsync();
}
catch(Exception ex)
{
//...
}
Writing Request Headers
var client = new HttpClient();
var headers = client.DefaultRequestHeaders;
headers.Referer = new Uri("http://contoso.com");
var ok = headers.UserAgent.TryParseAdd("testprogramm/1.0");
var response = await client.GetAsync(uri);
var length = response.Content.Headers.ContentLength.Value;
byte[] buffer = new byte[length]
Headers
- Headers (read/write collection)
- Accept (read/write collection)
- AcceptEncoding (read/write collection)
- AcceptLanguage (read/write collection)
- Authorization (read/write)
- CacheControl (read/write collection)
- Connection (read/write collection)
- Cookie (read/write collection)
- Date (read/write)
- Expect (read/write collection)
- From (read/write)
- Host (read/write)
- IfModifiedSince (read/write)
- IfUnmodifiedSince (read/write)
- MaxForwards (read/write)
- ProxyAuthorization (read/write)
- Referer (read/write)
- TransferEncoding (read/write collection)
- UserAgent (read/write collection)
try
{
var client = new HttpClient()
var request = new HttpRequestMessage(HttpMethod.Delete, uri);
var response = await client.SendRequestAsync(request);
Headers.Text = "Status" + response.StatusCode;
}
catch(Exception ex)
{}
HttpMethods
- Delete
- Get
- Head
- Options
- Patch
- Post (Also discrete Method)
- Put (Also discrete Method)
Less Payload, use JSON REST Zip
HttpBaseProtocolFilter filter = new HttpBaseProtocolFilter();
filter.AutomaticDecompression = true;
HttpClient webClient = new HttpClient(filter);
Setting Cookies
var uri = new Uri("http://example.com/customers/1");
try
{
var baseFilter = new HttpBaseProtocolFilter();
var cookieManager = baseFilter.CookieManager;
var cookie = new HttpCookie("favoriteColor", ".example.com", "/);
{ Value = "purple" };
cookieManager.SetCookie(cookie);
var client = new HttpClient(baseFilter);
await client.PostAsync(uri, new HttpStringContent("Pete"));
}
catch(Exception ex)
{}
Access Cookies
var baseFilter = new HttpBaseProtocolFilter();
var cookieManager = baseFilter.CookieManager;
var client = new HttpClient(baseFilter);
var cookie = cookieManager.GetCookies(uri);
foreach(var cookie in cookies)
{
CookieList.Text += cookie.Name + " " + cookie.Value + "\n";
}
Using HttpBaseProtocolFilter for Compression and Credentials
HttpBaseProtocolFilter filter = new HttpBaseProtocolFilter();
filter.AutomaticDecompression = true;
PasswordCredential creds = new PasswordCredential("jump", username, password);
filter.ServerCredentials = creds;
filter.ProxyCredentials = creds;
HttpClient httpClient = new HttpClient(filter);
string response = await httpClient.GetStringAsync(uri),
Use Credential Locker to store Account Information
- Windows.Security.Credentials