• 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);
                }
    
    
            }
  • 相关阅读:
    通过源码安装PostgresSQL
    mysql 8.0.16 单主 mgr搭建
    美团点评SQL优化工具SQLAdvisor开源快捷部署
    通过springboot 去创建和提交一个表单(七)
    在springboot中验证表单信息(六)
    调度任务(五)
    接收上传的multi-file的文件(四)
    消费Restful的web服务(三)
    关于RabbitMQ服务器整合(二)
    在springboot中用redis实现消息队列
  • 原文地址:https://www.cnblogs.com/zeng-qh/p/12016552.html
Copyright © 2020-2023  润新知