不知道能不能实现这样的功能的?
用C#实现读取给定地址的网页的内容~~~~
好象对于xml文件用(XmlDocument doc = new XmlDocument();)可以读取,不知道对其他类型的如html,asp等之类能不能读取?
一直想实现这个功能~~~
问题点数:20、回复次数:4Top
1 楼windfun(小宝.NET)回复于 2002-05-20 22:06:50 得分 20
可以,用WebRequest及WebRespose类来完成,以下是完整代码:
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Net" %>
<% @ Import Namespace="System.IO" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
string rl;
//创建WebRequest对象
WebRequest myReq = WebRequest.Create("http://www.aspxcn.com/default.aspx");//这里修改成你要读取网页的地址
//创建WebResponse对象
WebResponse myRes = myReq.GetResponse();
//获取Stream
Stream resStream = myRes.GetResponseStream();
//以下操作为读取Stream对象中的内容
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>
<html>
<head>
<title></title>
</head>
<body>
<b>抓取的HTML代码:</b>
<form runat="server">
<asp:TextBox TextMode="MultiLine" Rows="10" Columns="50" id="result" runat="server" />
</form>
</body>
</html>
Top
2 楼OMyDoG(-:)回复于 2002-05-21 08:29:19 得分 0
错误:
类型“TextBox”的控件“result”必须放在具有 runat=server 的窗体标记内。Top
3 楼OMyDoG(-:)回复于 2002-05-21 09:39:08 得分 0
解决~~谢谢~~~Top
4 楼chyich()回复于 2002-05-21 09:43:40 得分 0
您应该把<asp:TextBox TextMode="MultiLine" Rows="10" Columns="50" id="result" runat="server" />作为一行来写,不能分行写,分行写就会出错。
Top




