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>
<asp:Button ID="Button2" runat="server" Text="URL 提交" onclick="Button2_Click" /></td>
</tr>
</table>
</div>
</form>
浙公网安备 33010602011771号