using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
//GetRemoteHtmlCode("C:\\", TextBox3.Text.Trim());
Encoding ed = Encoding.GetEncoding("GB2312"); //创建一个字符串编码
StreamReader sr = null; //读取流
StreamWriter sw = null; //写入流
string str = string.Empty; //空字符串
try
{
WebRequest wr = WebRequest.Create(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();
}
}
public void GetRemoteHtmlCode(string filepath, string url)
{
WebClient myWebClient = new WebClient();
//myWebClient.Credentials = CredentialCache.DefaultCredentials;
myWebClient.Credentials = new NetworkCredential("qq", "qq!", "qqqq");
byte[] pagedata = myWebClient.DownloadData(url);
string myDataBuffer = Encoding.UTF8.GetString(pagedata);
//去掉viewstate
//string pattern = @"<input type=""hidden"" name=""__VIEWSTATE"" id=[^>](?<view>[^>]*)>";
string pattern = @"<input type=""hidden"" name=""__VIEWSTATE"" id=[^>][^>]*>";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
myDataBuffer = reg.Replace(myDataBuffer, "");
Encoding code = Encoding.UTF8;
//写文件
StreamWriter sw = null;
try
{
sw = new StreamWriter(filepath, false, code);
sw.WriteLine(myDataBuffer);
sw.Flush();
Response.Write("ok");
}
catch (Exception ex)
{
//File.Delete(path + htmlfilename);
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
Response.Write("no");
}
finally
{
if (sw != null)
sw.Close();
}
}
}
}
20150909
最新推荐文章于 2015-09-14 08:53:28 发布