Wednesday, July 9, 2014

HttpClient Vs WebClient- WebRequest /WebResponse

Its a bit of discussion as to use what ,when and how.

WebClient- Old .net framework

Most recently I used webrequest and Webresponse to read content of web pages like this.


using System.Net.Web

WebRequest request = WebRequest.Create(http://localhost/demosite);

// If required by the server, set the credentials.

request.Credentials = CredentialCache.DefaultCredentials;

// Get the response.

WebResponse response = request.GetResponse();

// Get the stream containing content returned by the server.

Stream dataStream = response.GetResponseStream();

// Open the stream using a StreamReader for easy access.

StreamReader reader = new StreamReader(dataStream);

// Read the content.

string webResponseStream= reader.ReadToEnd();


HttpClient: .net 4.5 more aligned to http web api.

using System.Net.Http;
Msdn  : Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.
One can initiate request related to GET, POST, PUT method using httpClient.

static async void DownloadPageAsync()
// ... Target page. string page = ""; // ... Use HttpClient.
using (HttpClient client = new HttpClient())
using (HttpResponseMessage response = await client.GetAsync(page))
using (HttpContent content = response.Content)
    // ... Read the string.
    string result = await content.ReadAsStringAsync();

    // ... Display the result.
    if (result != null &&
result.Length >= 50)
Console.WriteLine(result.Substring(0, 50) + "...");





Post a Comment