zoukankan      html  css  js  c++  java
  • 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);
                }
    
    
            }
  • 相关阅读:
    文件传输协议FTP
    过河问题 还是不会 去学请教一下 数学老师 -----
    ----堆栈 STL 函数库 ----有待补充
    UVa 101
    例题 5-1 STL
    课后题 3-3 水题
    第八届河南省省赛 A.挑战密室
    课后题--------求分子量-----Molar mass------
    课后题3-1
    ---------快排-----表排-----基数排序(桶排序)-----
  • 原文地址:https://www.cnblogs.com/zeng-qh/p/12016552.html
Copyright © 2011-2022 走看看