日期:2011-06-17  浏览次数:20647 次

ASP.Net、C#实现网页小偷程序
      在ASP中实现小偷是使用XMLHTTP对象,最近在学习.net时看到了WebClient类,于是将过去用来做小偷的程序改了一下,使用ASP.Net、C#来实现,程序写的比较简单,目的是为了起到抛砖引玉的作者,希望能与各位一起探讨,使之更加完善,下一步我将使之实现根据设置可以获取网页中指定的内容。以下是程序部分,包括在WEB页中的ASP.NET的源程序和C#中的源程序。

ASP.Net (GetWebcontent.aspx)

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Text" %>
<script runat=server>
   //***********************************************************
   //*             
   //*    使用ASP.Net实现网站小偷的程序    
   //*       Written by 笑笑 2005-12-11      
   //*       网址:http://blog.hnce.net      
   //*       Email:hedongyang@gmail.com QQ:5364083   
   //*              
   //***********************************************************
void Page_Load(Object sender , EventArgs e)
{
   string strurl="http://blog.hnce.net";    //欲获取的网页地址
  
   WebClient myWebClient=new WebClient();    //创建WebClient实例myWebClient
  
   //获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。
   myWebClient.Credentials=CredentialCache.DefaultCredentials;
  
   //从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
   byte[] pagedata=myWebClient.DownloadData(strurl);
  
   //以下两句每次只要使用一条即可,功能是一样是用来转换字符集,根据获取网站页面的字符编码选择
   //string result=Encoding.Default.GetString(pagedata);       
   //如果获取网站页面采用的是GB2312,则使用这句
   string result=Encoding.UTF8.GetString(pagedata);
   //如果获取网站页面采用的是UTF-8,则使用这句
   //因为我的博客使用了UTF-8编码,所以在这里我使用这句
   Response.Write(result);   //在WEB页中显示获取的内容
}
</Script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
</body>
</html>

C# (GetWebcontent.cs)

/*
*********************************************************
*      
*  使用C#实现网站小偷的程序  
*       Written by 笑笑 2005-12-11  
*       网址:http://blog.hnce.net  
*       Email:hedongyang@gmail.com QQ:5364083
*      
*********************************************************
*/
using System;
using System.Net;
using System.Text;

class GetWebcontent
{
 public static void Main()
 {          
     try
     {

  WebClient MyWebClient = new WebClient();

  MyWebClient.Credentials = CredentialCache.DefaultCredentials;

  Byte[] pageData = MyWebClient.DownloadData("http://blog.hnce.net");
  string pageHtml = Encoding.UTF8.GetString(pageData);
  Console.WriteLine(pageHtml);

     }
     catch (WebException we