您的位置:首页 > 编程语言 > ASP

c#网页数据抓取/asp.net网页数据抓取

2012-08-22 08:36 525 查看
/// <summary>

        /// 获取远程页面数据

        /// </summary>

        /// <param name="url"></param>

        /// <returns></returns>

        public string getWebPageData(string RemoteURL, Encoding EncodingType)

        {

            WebClient WC = new WebClient();

            WC.Credentials = CredentialCache.DefaultCredentials;

            WebRequest webRequest = null;

            try

            {

                webRequest = HttpWebRequest.Create(RemoteURL);

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.ToString());

                return "";

            }

            HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

            Stream stream = webResponse.GetResponseStream();

            byte[] htmlByte = GetByteContent(stream);

            string pageHtml = EncodingType.GetString(htmlByte);

            return pageHtml;

        }

        private byte[] GetByteContent(Stream stream)

        {

            ArrayList arBuffer = new ArrayList();

            byte[] buffer = new byte[1024];

            int offset = 1024;

            int count = stream.Read(buffer, 0, offset);

            while (count > 0)

            {

                for (int i = 0; i < count; i++)

                {

                    arBuffer.Add(buffer[i]);

                }

                count = stream.Read(buffer, 0, offset);

            }

            stream.Close();

            return (byte[])arBuffer.ToArray(System.Type.GetType("System.Byte"));

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息