Skip to content

Instantly share code, notes, and snippets.

@heardk
Last active December 11, 2016 22:17
Show Gist options
  • Save heardk/ba91debb9c673a8a57070503f12caa9a to your computer and use it in GitHub Desktop.
Save heardk/ba91debb9c673a8a57070503f12caa9a to your computer and use it in GitHub Desktop.
Consuming REST services in ASP.Net

Consuming REST Services in ASP.Net

HTTPWebRequest

HttpWebRequest http = (HttpWebRequest)WebRequest.Create("http://example.com");
WebResponse response = http.GetResponse();

MemoryStream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string content = sr.ReadToEnd();

WebClient

var client = new WebClient();
var text = client.DownloadString("http://example.com/page.html");

HTTPClient

var urlTemplate = "http://api.timezonedb.com/?zone={0}&key={1}&format=json";
var url = string.Format(urlTemplate, "Europe/Kiev", "YOUR_API_KEY");

var httpClient = new HttpClient();
var streamTask = httpClient.GetStreamAsync(url);

var s = new DataContractJsonSerializer(typeof(TimezoneDbInfoJson));
var timezoneDbInfo = (TimezoneDbInfoJson)s.ReadObject(streamTask.Result);

RestSharp

var client = new RestClient("http://example.com");
// client.Authenticator = new HttpBasicAuthenticator(username, password);

var request = new RestRequest("resource/{id}", Method.POST);
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method
request.AddUrlSegment("id", "123"); // replaces matching token in request.Resource

// easily add HTTP Headers
request.AddHeader("header", "value");

// add files to upload (works with compatible verbs)
request.AddFile(path);

// execute the request
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment