zoukankan      html  css  js  c++  java
  • .NET下获取网页源码的几种方法

    /// <summary>
        /// 使用WebClient方法
        /// </summary>
        protected void WebClientButton_Click(object sender, EventArgs e)
        {
            pageUrl = UrlText.Text;
            WebClient wc = new WebClient();
            wc.Credentials = CredentialCache.DefaultCredentials;

            //方法一
            byte[] pageData = wc.DownloadData(pageUrl);
            ContentHtml.Text = Encoding.Default.GetString(pageData);

            /*
            //方法二
            Stream resStream = wc.OpenRead(pageurl);
            StreamReader sr = new StreamReader(resStream, Encoding.Default);
            ContentHtml.Text = sr.ReadToEnd();
            resStream.Close();
            */

            wc.Dispose();
        }

        /// <summary>
        /// 使用WebRequest方法
        /// </summary>
        protected void WebRequestButton_Click(object sender, EventArgs e)
        {
            pageUrl = UrlText.Text;
            WebRequest wrequest = WebRequest.Create(pageUrl);
            WebResponse wresponse = wrequest.GetResponse();
            Stream resStream = wresponse.GetResponseStream();
            StreamReader sr = new StreamReader(resStream, Encoding.Default);
            ContentHtml.Text = sr.ReadToEnd();
            resStream.Close();
            sr.Close();
        }

    public string GetRemoteHtmlCode(string Url)
        {
            string s = null;
            try
            {
                MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
                _xmlhttp.open("GET", Url, false, null, null);
                _xmlhttp.send("");
                if (_xmlhttp.readyState == 4)
                {
                    s = System.Text.Encoding.UTF8.GetString((byte[])_xmlhttp.responseBody);
                }

               
            }
            catch
            {
            }
            return s;
        }

        public string GetRemoteHtmlCodeByGB2312(string Url)
        {
            string s = null;
            try
            {
                MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass();
                _xmlhttp.open("GET", Url, false, null, null);
                _xmlhttp.send("");
                if (_xmlhttp.readyState == 4)
                {
                    s = System.Text.Encoding.Default.GetString((byte[])_xmlhttp.responseBody);
                }
            }
            catch
            {
            }
            return s;
        }

  • 相关阅读:
    C#中enum的总结(转载)
    jQuery之获取select选中的值
    event.preventDefault方法的使用
    C++概述
    C++ 名字空间
    C++初步学习
    C++回调机制实现 signal-slot
    转: 关于UI开发(总结一些技术和一些论坛牛人讨论)
    Duilib 入门教程: 怎么创建一个自定义的窗口
    SQL Server 数据库设计规范
  • 原文地址:https://www.cnblogs.com/yasin/p/1928978.html
Copyright © 2011-2022 走看看