zoukankan      html  css  js  c++  java
  • 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);
            }
        }
    }
  • 相关阅读:
    elasticsearch官方文档摸索
    nginx报错upstream sent invalid chunked response while reading upstream
    LRU算法的实现
    linux命令小计
    【阅读笔记】深入java虚拟机-第三部分-虚拟机执行子系统
    spring-session-data-redis导致跨域session失效
    ReentrantLock源码解读
    AbstractQueuedSynchronizer(AQS源码解读)
    Object中wait()、notify()、notifyAll()
    redis(单机模式)分布式锁的实现【已废弃】
  • 原文地址:https://www.cnblogs.com/Fred1987/p/11434256.html
Copyright © 2011-2022 走看看