• C# WebClient,HttpClient,WebRequest


    
    
     static  void WebClientDemo()
            {
                string url = "https://www.cnblogs.com/Fred1987/p/11843418.html";
                WebClient wc = new WebClient();
                string content=wc.DownloadString(url);
                Console.WriteLine(content);
            }
    
            static async void HttpClientDemo()
            {
                try
                {
                    string url = "https://www.cnblogs.com/Fred1987/p/11843418.html";
                    using (HttpClient httpClient = new HttpClient())
                    {
                        HttpResponseMessage httpResponse = await httpClient.GetAsync(url);
                        httpResponse.EnsureSuccessStatusCode();
                        string responseBody = await httpResponse.Content.ReadAsStringAsync();
                        Console.WriteLine(responseBody);
                    }
                }
                catch(HttpRequestException ex)
                {
                    Console.WriteLine(ex.Message);
                }                         
            }
    
            static void WebRequestDemo()
            {
                string url = "https://www.cnblogs.com/Fred1987/p/11843418.html";
                WebRequest webRequest = WebRequest.Create(url);
                using (WebResponse webResponse = webRequest.GetResponse())
                {
                    Stream responseStream = webResponse.GetResponseStream();
                    StreamReader streamReader = new StreamReader(responseStream);
                    string result = streamReader.ReadToEnd();
                    Console.WriteLine(result);
                }                       
            }
    
    
    
    static void Main(string[] args)
            {
                WebRequestAsyncDemo();
                Console.ReadLine();
            }
    
            static void WebRequestAsyncDemo()
            {
                string url = "https://docs.microsoft.com/en-us/dotnet/api/system.string?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev16.query%3FappId%3DDev16IDEF1%26l%3DEN-US%26k%3Dk(System.String);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.8);k(DevLang-csharp)%26rd%3Dtrue&view=netframework-4.8";
    
                Task task = WriteWebRequestAsync(url);
                try
                {
                    while(!task.Wait(100))
                    {
                        Console.Write(".");
                    }
                }
                catch(AggregateException aes)
                {
                    aes = aes.Flatten();
                    try
                    {
                        aes.Handle(x =>
                        {
                            Console.WriteLine(x.Message);
                            return true;
                        });
                    }
                    catch(WebException)
                    {
    
                    }
                    catch(IOException)
                    {
    
                    }
                    catch(NotSupportedException)
                    {
    
                    }
                }         
            }
    
            static Task WriteWebRequestAsync(string url)
            {
                StreamReader reader = null;
                WebRequest request = WebRequest.Create(url);
                Task task = request.GetResponseAsync().ContinueWith(x =>
                {
                    WebResponse response = x.Result;
                    reader = new StreamReader(response.GetResponseStream());
                    return reader.ReadToEndAsync();
                }).Unwrap().ContinueWith(x =>
                {
                    if (reader != null)
                    {
                        reader.Dispose();
                    }
                    string text = x.Result;
                    Console.WriteLine(text);
                });
                return task;
            }

    static void Main(string[] args)
    {
    WebRequestDemoAsync();
    Console.ReadLine();
    }

    static async void WebRequestDemoAsync()
    {
    string url = "https://docs.microsoft.com/en-us/dotnet/api/system.string?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev16.query%3FappId%3DDev16IDEF1%26l%3DEN-US%26k%3Dk(System.String);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.8);k(DevLang-csharp)%26rd%3Dtrue&view=netframework-4.8";
    WebRequest request = WebRequest.Create(url);
    WebResponse response =await request.GetResponseAsync();
    using(StreamReader reader=new StreamReader(response.GetResponseStream()))
    {
    string text = await reader.ReadToEndAsync();
    Console.WriteLine(text);
    }
    }

  • 相关阅读:
    AndroidUI的组成部分ProgressBar
    NVIDIA+关联2015写学校招收评论(嵌入式方向,上海)
    谈论json
    排序算法(三):插入排序
    逻辑地址、线性地址、物理地址以及虚拟存储器
    逻辑地址、线性地址和物理地址的关系
    堆和栈都是虚拟地址空间上的概念
    缺页异常详解
    虚拟内存-插入中间层思想
    深入理解计算机系统之虚拟存储器
  • 原文地址:https://www.cnblogs.com/Fred1987/p/11843418.html
Copyright © 2020-2023  润新知