OldHawk

菜地一块,欢迎拍砖
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.NET下获取网页的内容的封装类

Posted on 2007-04-30 12:33  OldHawk  阅读(1020)  评论(2编辑  收藏  举报
      我写的一个在.NET下获取网页内容的类:

using System;
using System.Net;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace iUNS
{
    
/// <summary>
    
/// iuGetWebContent 的摘要说明。
    
/// </summary>
    public class iuGetWebContent
    {
        
public iuGetWebContent()
        {
            
//
            
// TODO: 在此处添加构造函数逻辑
            
//
        }

        
/// <summary>
        
/// 从指定的url取得网页内容
        
/// </summary>
        
/// <param name="url">网页地址</param>
        
/// <returns>返回取得的内容</returns>
        public static string getContentFromUrl(string url,string encoding)
        {
            
try
            {
                
string text="";
                
// Create a 'WebRequest' object with the specified url. 
                WebRequest myWebRequest = WebRequest.Create(url); 
                myWebRequest.Timeout
=10000;

                
// Send the 'WebRequest' and wait for response.
                WebResponse myWebResponse = myWebRequest.GetResponse(); 

                
// Obtain a 'Stream' object associated with the response object.
                Stream ReceiveStream = myWebResponse.GetResponseStream();
                
                Encoding encode 
= System.Text.Encoding.GetEncoding(encoding);

                
// Pipe the stream to a higher level stream reader with the required encoding format. 
                StreamReader readStream = new StreamReader( ReceiveStream, encode );
                
//Console.WriteLine("\nResponse stream received");
                Char[] read = new Char[512];

                
// Read 512 charcters at a time.    
                int count = readStream.Read( read, 0512 );
                
//Console.WriteLine("HTML\r\n");

                
while (count > 0
                {
                    
// Dump the 512 characters on a string and display the string onto the console.
                    String str = new String(read, 0, count);
                    text
+=str;
                    count 
= readStream.Read(read, 0512);
                }

                
// Release the resources of stream object.
                readStream.Close();

                
// Release the resources of response object.
                myWebResponse.Close();

                
return text;
            }
            
catch
            {
                
return "MYERROR";
            }
        }
    }
}