现在的位置: 首页 > 综合 > 正文

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

2013年06月08日 ⁄ 综合 ⁄ 共 1539字 ⁄ 字号 评论关闭
现在抓取网站信息越来越火热,大家常用的方法如下。
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;
    }
【上篇】
【下篇】

抱歉!评论已关闭.