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+", " ");
 }
}
}
新聞熱點
疑難解答
圖片精選