关于得到网站源码的方法探讨。。。

现在抓取网站信息越来越火热,大家常用的方法如下。
public string Get_Http(string a_strUrl, int timeout)
    
{
        
string strResult;
        
try
        
{

            HttpWebRequest myReq 
= (HttpWebRequest)HttpWebRequest.Create(a_strUrl);
            myReq.Timeout 
= timeout;
            myReq.Headers.Set(
"Pragma","no-cache");
            HttpWebResponse HttpWResp 
= (HttpWebResponse)myReq.GetResponse();
            Stream myStream 
= HttpWResp.GetResponseStream();
            StreamReader sr 
= new StreamReader(myStream, Encoding.Default);
            StringBuilder strBuilder 
= new StringBuilder();
            
while (-1 != sr.Peek())
            
{ strBuilder.Append(sr.ReadLine() + "\r\n"); }
            strResult 
= strBuilder.ToString();
        }

        
catch (Exception exp)
        
{ strResult = "错误:" + exp.Message; }
        
return strResult;
    }

这里给大家介绍另一种方法
public string SnatchHtml(string url,string charset)
    
{
        System.Net.WebClient MyWebClinent 
= new WebClient();
        MyWebClinent.Credentials 
= CredentialCache.DefaultCredentials;
        
string pageHtml;
        
byte[] pageData = MyWebClinent.DownloadData(url);

        
if (charset.ToLower() == "gb2312")
        
{
            pageHtml 
= Encoding.Default.GetString(pageData);  //如果获取网站页面采用的是GB2312,则使用这句
        }

        
else if (charset.ToLower() == "utf-8")
        
{
            pageHtml 
= Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
        }

        
else
        
{
            pageHtml 
= Encoding.Unicode.GetString(pageData); //如果获取网站页面采用的是Unicode,则使用这句
        }

        
return pageHtml;
    }
posted @ 2007-07-03 11:17 Robot·H 阅读(77) 评论(0)  编辑 收藏 网摘

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-07-03 11:32 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: