YongGe

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

该方法需要传递目标网页的编码方式,比如System.Text.Encoding.Default或者System.Text.Encoding.UTF8

如果哪位高手知道如何自动判断目标页面的编码格式,请在评论中告知。谢谢!


/// <summary>
        
/// 获取源代码
        
/// </summary>
        
/// <param name="url"></param>
        
/// <param name="encoding"></param>
        
/// <returns></returns>

        public static string GetPage(string url, Encoding encoding)
        
{
            HttpWebRequest request 
= null;
            HttpWebResponse response 
= null;
            StreamReader reader 
= null;
            
try
            
{
                request 
= (HttpWebRequest)WebRequest.Create(url);
                request.UserAgent 
= "www.svnhost.cn";
                request.Timeout 
= 20000;
                request.AllowAutoRedirect 
= false;

                response 
= (HttpWebResponse)request.GetResponse();
                
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
                
{
                    reader 
= new StreamReader(response.GetResponseStream(), encoding);
                    
string html = reader.ReadToEnd();

                    
return html;
                }

            }

            
catch
            
{
            }

            
finally
            
{

                
if (response != null)
                
{
                    response.Close();
                    response 
= null;
                }

                
if (reader != null)
                    reader.Close();

                
if (request != null)
                    request 
= null;

            }


            
return string.Empty;
        }
posted on 2008-06-09 16:08  YongGe  阅读(1759)  评论(4编辑  收藏  举报