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:[email protected] 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:[email protected] 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 webEx)
{
Console.Write(webEx.ToString());
}
}
}