zoukankan      html  css  js  c++  java
  • c# winfrom 下载网页源代码

    第一种:

    /// <summary>
    /// 下载网页源代码
    /// </summary>
    /// <param name="Url">网页路径</param>
    /// <returns></returns>
    private string DownloadCode(string Url)
    {
    try
    {
    WebClient webClient = new WebClient();
    Byte[] pageData = webClient.DownloadData(Url);
    return Encoding.GetEncoding("utf-8").GetString(pageData);
    }
    catch (Exception ec)
    {
    throw new Exception(ec.Message.ToString());
    }


    第二种:

            /// <summary>
            /// 请求地址,返回html代码
            /// </summary>
            /// <param name="url">地址</param>
            /// <param name="timeOut">设置请求的超时时间,1000=1秒</param>
            /// <returns></returns>
            public static string HttpGet(string url,int timeOut)
            {
                try
                {
                    ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
                    string html;
                    HttpWebRequest Web_Request = (HttpWebRequest)WebRequest.Create(url);
    
                    Web_Request.AllowAutoRedirect = false;
                    //设置请求超时时间
                    Web_Request.Timeout = timeOut;
                    //请求方式GET,POST
                    Web_Request.Method = "GET";
                    //请求的身份
                    Web_Request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36";
                    //添加请求头信息
                    Web_Request.Headers.Add("Accept-Encoding", "gzip, deflate");
                    Web_Request.ContentType = "application/x-www-form-urlencoded";
                    //Web_Request.Credentials = CredentialCache.DefaultCredentials;
    
                    //设置代理属性WebProxy-------------------------------------------------
                    //WebProxy proxy = new WebProxy("111.13.7.120", 80);
                    //在发起HTTP请求前将proxy赋值给HttpWebRequest的Proxy属性
                    //Web_Request.Proxy = proxy;
    
                    HttpWebResponse Web_Response = (HttpWebResponse)Web_Request.GetResponse();
    
                    if (Web_Response.ContentEncoding.ToLower() == "gzip")  // 如果使用了GZip则先解压
                    {
                        using (Stream Stream_Receive = Web_Response.GetResponseStream())
                        {
                            using (var Zip_Stream = new GZipStream(Stream_Receive, CompressionMode.Decompress))
                            {
                                using (StreamReader Stream_Reader = new StreamReader(Zip_Stream, Encoding.Default))
                                {
                                    html = Stream_Reader.ReadToEnd();
                                }
                            }
                        }
                    }
                    else
                    {
                        using (Stream Stream_Receive = Web_Response.GetResponseStream())
                        {
                            using (StreamReader Stream_Reader = new StreamReader(Stream_Receive, Encoding.Default))
                            {
                                html = Stream_Reader.ReadToEnd();
                            }
                        }
                    }
    
                    return html;
                }
                catch (Exception)
                {
                    return "error";
                }
    
            }
  • 相关阅读:
    1.MySql安装
    struts文件上传、文件下载
    Java内存模型
    虚拟机类加载机制
    JAVA内存管理
    算法
    POI
    SSH项目(1)
    classpath路径和properties
    AngularJS路由实现单页面跳转
  • 原文地址:https://www.cnblogs.com/yinmu/p/10994088.html
Copyright © 2011-2022 走看看