C# 获取网页内容

[HttpGet]
        public string GetHtmltxt(string url)
        {
            string str;

            //方式一
            WebRequest web= WebRequest.Create(url);
            web.Method = "GET";
            HttpWebResponse httpWeb = (HttpWebResponse)web.GetResponse();
            Stream stream = httpWeb.GetResponseStream();
            StreamReader reader = new StreamReader(stream, Encoding.UTF8);
            str = reader.ReadToEnd();
            stream.Close();
            reader.Close();


            //方式二
            HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(url);
            //HttpWebRequest类继承于WebRequest,并没有自己的构造函数,需通过WebRequest的Creat方法 建立,并进行强制的类型转换            

            HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();
            //通过HttpWebRequest的GetResponse()方法建立HttpWebResponse,强制类型转换
            
            Stream respStream = httpResp.GetResponseStream();
            //GetResponseStream()方法获取HTTP响应的数据流,并尝试取得URL中所指定的网页内容
           
            StreamReader respStreamReader = new StreamReader(respStream, Encoding.UTF8);
            //返回的内容是Stream形式的,所以可以利用StreamReader类获取GetResponseStream的内容,
            //并以 StreamReader类的Read方法依次读取网页源程序代码每一行的内容,直至行尾(读取的编码格式:UTF8) 

            str = respStreamReader.ReadToEnd();

            respStream.Close();
            respStreamReader.Close();

            return str;
        }

  

 [HttpGet]
        public async Task GetTaskAsync()
        {
              HttpClient client = new HttpClient();
            try
            {
                //HttpResponseMessage response = await client.GetAsync("http://www.baidu.com/");
                //response.EnsureSuccessStatusCode();
                //string responseBody = await response.Content.ReadAsStringAsync();
                // 或者是直接GetStringAsync
                string responseBody = await client.GetStringAsync("http://www.baidu.com/");

                Console.WriteLine(responseBody);
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine("
Exception Caught!");
                Console.WriteLine("Message :{0} ", e.Message);
            }


        }
原文地址:https://www.cnblogs.com/zeng-qh/p/12016552.html