ASP.Net (GetWebcontent.aspx)
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Text" %>
<script runat=server>
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)
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());
}
}
}
ASP.NET小偷程序之核心(内容采集)
下面的代码演示了如何读取一个网页,并显示其HTML代码。
得到了网页HTML,小偷程序也就完成大半了,下面的工作就是筛选内容了。
<%@ page language=c# %>
<%@ Import Namespace="System.Net"%>
<%@ Import Namespace="System.IO"%>
<script runat="server">
void Page_Load()
{
string rl;
WebRequest myReq=WebRequest.Create("http://www.imbbs.cn");
WebResponse myRes=myReq.GetResponse();
Stream resStream=myRes.GetResponseStream();
StreamReader sr=new StreamReader(resStream,Encoding.Default);
StringBuilder sb=new StringBuilder();
while((rl=sr.ReadLine())!=null)
{
sb.Append(rl);
}
result.Text=sb.ToString();
myRes.Close();
}
</script>
<form runat=server>
<asp:textbox textmode=multiline rows=10 columns=50 id=result runat=server />
</form>