ASP.NET 使用WebRequest和WebResponse抽象类获取 Internet 页面代码

主要是熟悉一下 WebRequest  和 WebResponse两个类 ,这2个类对应还有HttpWebRequest 和 HttpWebResponse两个类。


using System.IO;
using System.Text;
using System.Net;
protected void Button2_Click(object sender, EventArgs e)
{
Encoding ed = Encoding.GetEncoding("GB2312"); //创建一个字符串编码
StreamReader sr = null; //读取流
StreamWriter sw = null; //写入流
string str = string.Empty; //空字符串

try
{
WebRequest wr = WebRequest.Create(this.TextBox3.Text.Trim()); //向指定的URI(http://或File://)发送请求
WebResponse ws = wr.GetResponse(); //通过WebRequest的GetResponse()方法来创建实例(响应WebRequest的请求)

Stream sm = ws.GetResponseStream(); //从WebResponse的GetResponseStream()方法中创建文本流实例
sr = new StreamReader(sm, ed); //以指定的编码方式加载文本流;
str = sr.ReadToEnd(); //将文本流从头到尾所有字符串赋值给字符串变量
//Response.Write(str); //----- 测试用 -----

string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm"; //新建文件名格式

sw = new StreamWriter(Server.MapPath("Html/") + fileName, false, ed);
Response.Write("成功生成URL<a href=\"Html/" + fileName + "\" target=\"_blank\">" + fileName + "</a>文件!");
sw.Write(str);
sw.Flush();
sm.Close();
ws.Close();
}
catch (Exception Error)
{
throw Error;
}
finally
{
sr.Close();
sw.Close();
}
}


前端代码

 <form id="form1" runat="server">
<div>

<table class="style1">
<tr>
<td colspan="2"><asp:TextBox ID="TextBox3" runat="server" Width="330"></asp:TextBox>
&nbsp;
<asp:Button ID="Button2" runat="server" Text="URL 提交" onclick="Button2_Click" /></td>
</tr>
</table>

</div>
</form>


转自:http://cache.baidu.com/c?m=9d78d513d99000ed4fece4690d61c0676908d7252bd7a1502884d31fd0230c000172a4fb792d4a4295876b6672b25419afb52172404777f7d099de5dddccc375709572742d5bc4000fc41fad9e4720c322915ef4aa1ae4bcf53484aea5958216089b&p=8b2a91118a8733ea1dbd9b79075c&user=baidu&fm=sc&query=asp%2Enet+webrequest&qid=b0a9b247391c898c&p1=7

posted on 2011-12-09 14:03  骄傲的豹子  阅读(235)  评论(0)    收藏  举报

导航