读取URl并将其源码保存

protected void Page_Load(object sender, EventArgs e)
    {
        //调用方法
       // this.DownUrltoFile("http://zhgkj.com", "html/zhgkj.htm", "utf-8");


       // Response.Write(Request.UrlReferrer.AbsolutePath);
        if(Request.UrlReferrer!=null)
        Response.Write(Request.UrlReferrer.AbsoluteUri);
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string PageUrl = "";
        string contentHtml = "";
        //PageUrl = "http://" + HttpContext.Current.Request.ServerVariables["SERVER_NAME"] + "/Default.aspx";
        PageUrl = "http://zhgkj.com/Default.aspx";
        WebClient wc = new WebClient();
        wc.Credentials = CredentialCache.DefaultCredentials;
        Byte[] pageData = wc.DownloadData(PageUrl);
        contentHtml = Encoding.Default.GetString(pageData);
        Response.Write(contentHtml);
        wc.Dispose();
    }
    /// <summary>
    /// 生成网页文件
    /// </summary>
    /// <param name="url">远程URL</param>
    /// <param name="filename">生成文件名路径</param>
    /// <param name="pagecode">目标URL页面编码</param>
    protected void DownUrltoFile(string url, string filename, string pagecode)
    {
        try
        {
            //编码
            Encoding encode = Encoding.GetEncoding(pagecode);
            //请求URL
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            //设置超时(10秒)
            req.Timeout = 10000;
            this.NotFolderIsCreate(filename);
            //获取Response
            HttpWebResponse rep = (HttpWebResponse)req.GetResponse();
            //创建StreamReader与StreamWriter文件流对象
            StreamReader sr = new StreamReader(rep.GetResponseStream(), encode);
            StreamWriter sw = new StreamWriter(Server.MapPath(filename), false, encode);
            //写入内容
            sw.Write(sr.ReadToEnd());
            //清理当前缓存区,并将缓存写入文件
            sw.Flush();
            //释放相关对象资源
            sw.Close();
            sw.Dispose();
            sr.Close();
            sr.Dispose();
            Response.Write("生成文件" + filename + "成功");
        }
        catch (Exception ex)
        {
            Response.Write("生成文件" + filename + "失败,原因:" + ex.Message);
        }
    }
    /// <summary>
    /// 文件夹不存在则创建
    /// </summary>
    /// <param name="filename">文件名所在路径</param>
    protected void NotFolderIsCreate(string filename)
    {
        string fileAtDir = Server.MapPath(Path.GetDirectoryName(filename));
        if (!Directory.Exists(fileAtDir))
            Directory.CreateDirectory(fileAtDir);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值