ASP.NET抓取网页内容-文字

ASP.NET抓取网页内容-文字

ASP.NET抓取网页内容-图片

ASP.NET抓取网页内容-Post数据

ASP.NET抓取网页内容-防止重定向

ASP.NET抓取网页内容-保持登录状态

ASP.NET抓取网页内容-把当前会话带到WebRequest


ASP.NET中抓取网页内容是非常方便的,而其中更是解决了ASP中困扰我们的编码问题。

需要三个类:WebRequestWebResponseStreamReader

WebRequestWebResponse名称空间是:

System.Net

StreamReader的名称空间是:

System.IO

核心代码

WebRequest request = WebRequest.Create("http://www.cftea.com/");
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));

WebRequest类的Create为静态方法,参数为要抓取的网页的网址;

Encoding指定编码,Encoding中有属性ASCIIUTF32UTF8等全球通用的编码,但没有gb2312这个编码属性,所以我们使用GetEncoding获得gb2312编码。

示例

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
void Page_Load(object sender, EventArgs e)
{
try
{
WebRequest request = WebRequest.Create("http://www.cftea.com/");
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));

tb.Text = reader.ReadToEnd();

reader.Close();
reader.Dispose();
response.Close();
}
catch (Exception ex)
{
tb.Text = ex.Message;
}
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>
抓取网页内容-千一网络</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="tb" runat="server" Width="500" Height="300" TextMode="multiLine"></asp:TextBox>
</div>
</form>
</body>
</html>

相关阅读

如何用Encoding指定编码

ASP.NET中发送邮件(带SMTP验证、带附件)

ASP “小偷程序

WebRequest发送CookieReferer

你可能感兴趣的:(html,.net,XHTML,asp.net,asp)