How to call REST API from a console application?
The response from my REST service will be XML format.
In web I am calling like this
string url = string.Format("{0}/name?PrimaryName={1}", ConfigurationManager.AppSettings["URLREST"], txtName.Text);
string details= CallRestMethod(url);
public string CallRestMethod(string url)
{
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.Method = "GET";
webrequest.ContentType = "application/x-www-form-urlencoded";
webrequest.Headers.Add("Username", "xyz");
webrequest.Headers.Add("Password", "abc");
HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
StreamReader responseStream = new StreamReader(webresponse.GetResponseStream(), enc);
string result = string.Empty;
result = responseStream.ReadToEnd();
loResponseStream.Close();
webresponse.Close();
return result;
}
I want to call the same method in console application.
How can I do that?
Try this code class Program name space should be
using System.Net;
using System.IO;
{
static void Main(string[] args)
{
string url = string.Format("{0}/name?PrimaryName={1}", System.Configuration.ConfigurationManager.AppSettings["URLREST"], "yournmae");
string details = CallRestMethod(url);
}
public static string CallRestMethod(string url)
{
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.Method = "GET";
webrequest.ContentType = "application/x-www-form-urlencoded";
webrequest.Headers.Add("Username", "xyz");
webrequest.Headers.Add("Password", "abc");
HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
StreamReader responseStream = new StreamReader(webresponse.GetResponseStream(), enc);
string result = string.Empty;
result = responseStream.ReadToEnd();
webresponse.Close();
return result;
}
}
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Net.Http.Formatting;
namespace TestingRESTAPI
{
class Program
{
static void Main(string[] args)
{
RunAsync().Wait();
}
static async Task RunAsync()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("<<provide your uri>>");
//client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("OAuth","xyz");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Console.WriteLine("Get");
HttpResponseMessage response = await client.GetAsync("<<provide your uri>>");
if(response.IsSuccessStatusCode)
{
Sites sites = await response.Content.ReadAsAsync<Sites>();
Console.WriteLine("Name: " + sites.name + "," + "Year: " + sites.yearInscribed);
}
Console.WriteLine("Post");
Sites newsite = new Sites();
newsite.name = "Ryan";
newsite.yearInscribed = "2019";
response = await client.PostAsJsonAsync("api/sites", newsite);
if(response.IsSuccessStatusCode)
{
Uri siteUrl = response.Headers.Location;
Console.WriteLine(siteUrl);
}
}
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With