getpagehtml.aspx<%[email protected] page language="c#" validaterequest = "false" codebehind="getpagehtml.aspx.cs"
autoeventwireup="false" inherits="emeng.exam.getpagehtml" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>得到网页源代码</title>
<meta name="generator" content="microsoft visual studio 7.0">
<meta name="code_language" content="c#">
<meta name="vs_defaultclientscript" content="javascript">
<meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body ms_positioning="gridlayout">
<form id="aspnetbuffer" method="post" runat="server">
<div align="center" >得到任意网页源代码</div>
<asp:textbox id="urltext" runat="server" width="400px">http://dotnet.aspx.cc/content.aspx
</asp:textbox>
<asp:button id="webclientbutton" runat="server" text="用webclient得到"></asp:button>
<asp:button id="webrequestbutton" runat="server" text="用webrequest得到"></asp:button>
<br>
<asp:textbox id="contenthtml" runat="server" width="100%" height="360px" textmode="multiline">
</asp:textbox>
</form>
</body>
</html>
getpagehtml.aspx.csusing system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
using system.io;
using system.net;
using system.text;
using system.text.regularexpressions;
namespace emeng.exam
...{
/**//// <summary>
/// getpagehtml 的摘要说明。
/// </summary>
public class getpagehtml : system.web.ui.page
...{
protected system.web.ui.webcontrols.button webclientbutton;
protected system.web.ui.webcontrols.button webrequestbutton;
protected system.web.ui.webcontrols.textbox contenthtml;
protected system.web.ui.webcontrols.textbox urltext;
protected system.web.ui.webcontrols.button gettext;
private string pageurl = "";
private void page_load(object sender, system.eventargs e)
...{}
web form designer generated code#region web form designer generated code
override protected void oninit(eventargs e)
...{
initializecomponent();
base.oninit(e);
}
/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void initializecomponent()
...{
this.webclientbutton.click += new system.eventhandler(this.webclientbutton_click);
this.webrequestbutton.click += new system.eventhandler(this.webrequestbutton_click);
this.gettext.click += new system.eventhandler(this.gettext_click);
this.load += new system.eventhandler(this.page_load);
}
#endregion
private void webclientbutton_click(object sender, system.eventargs e)
...{
pageurl = urltext.text;
webclient wc = new webclient();
wc.credentials = credentialcache.defaultcredentials;
/**////方法一:
byte[] pagedata = wc.downloaddata(pageurl);
contenthtml.text = encoding.default.getstring(pagedata);
/**//// 方法二:
/// ***************代码开始**********
/// stream resstream = wc.openread(pageurl);
/// streamreader sr = new streamreader(resstream,system.text.encoding.default);
/// contenthtml.text = sr.readtoend();
/// resstream.close();
/// **************代码结束********
///
wc.dispose();
}
private void webrequestbutton_click(object sender, system.eventargs e)
...{
pageurl = urltext.text;
webrequest request = webrequest.create(pageurl);
webresponse response = request.getresponse();
stream resstream = response.getresponsestream();
streamreader sr = new streamreader(resstream, system.text.encoding.default);
contenthtml.text = sr.readtoend();
resstream.close();
sr.close();
}
private void gettext_click(object sender, system.eventargs e)
...{
pageurl = urltext.text;
webrequest request = webrequest.create(pageurl);
webresponse response = request.getresponse();
stream resstream = response.getresponsestream();
streamreader sr = new streamreader(resstream, system.text.encoding.default);
contenthtml.text = sr.readtoend();
resstream.close();
sr.close();
contenthtml.text = regex.replace(contenthtml.text,"<[^>]*>", "");
//替换空格
contenthtml.text = regex.replace(contenthtml.text,"/s+", " ");
}
}
}
新闻热点
疑难解答
图片精选