C# consume RestApi

1.RestSharp.

Nuget install RestSharp,Newtonsoft.Json.

using System;
using RestSharp;
using Newtonsoft.Json.Linq;

namespace DBDll
{
    public class RestSharpApi
    {
        public static void GetWebResonse(string baseUrl = "https://api.github.com/repos/restsharp/restsharp/releases")
        {            
            var client = new RestClient(baseUrl);
            IRestResponse response = client.Execute(new RestRequest());
            //return the formatted json string from a clumsy json string.
            var releases = JArray.Parse(response.Content);
            Console.WriteLine(releases);
        }
    }
}

2.HttpWebRequest

using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Net;

namespace DBDll
{
    public class HttpWebRequestDemo
    {
        public static void HttpWebRequestShow(string baseUrl = "https://api.github.com/repos/restsharp/restsharp/releases")
        {
            var httpRequest = (HttpWebRequest)WebRequest.Create(baseUrl);
            httpRequest.Method = "GET";
            httpRequest.UserAgent = "Mozilla / 5.0(Windows NT 6.1; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 58.0.3029.110 Safari / 537.36";
            httpRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
            var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            string content = string.Empty;
            using(var responseStream=httpResponse.GetResponseStream())
            {
                using(var sr=new StreamReader(responseStream))
                {
                    content = sr.ReadToEnd();
                }
            }
            Console.WriteLine(content);
        }
    }
}

3.HttpClient

using System;
using System.IO;
using System.Net.Http;

namespace DBDll
{
    public class HttpClientDemo
    {
        public static void HttpClientShow(string url)
        {
            HttpClient httpClient = new HttpClient();
            var response = httpClient.GetStringAsync(url);            
            Console.WriteLine(response.Result);
            string textFile = Directory.GetCurrentDirectory() + "//" + "web.txt";
            using(StreamWriter webWriter=new StreamWriter(textFile,true))
            {
                webWriter.WriteLine(response.Result+"
");
            }
            
        }        
    }
}

 4.ServiceStack.

Install ServiceStack in Nuget.

using System;
using ServiceStack;

namespace DBDll
{
    public class ServiceStackDemo
    {
        public static void ServiceStackShow(string url)
        {
            var response= url.GetJsonFromUrl();
            Console.WriteLine(response);
        }
    }
}
原文地址:https://www.cnblogs.com/Fred1987/p/11434256.html