zoukankan      html  css  js  c++  java
  • 服务器端生成静态页面的函数

     protected void Page_Load(object sender, EventArgs e)
        {
            using(StreamWriter sw = new StreamWriter(Request.PhysicalApplicationPath+"index.html",false,System.Text.Encoding.GetEncoding("gb2312")))
            {
                sw.Write(getHtml("http://www.goudiannao.com/Default.aspx", "gb2312"));
            }
        }
        private string getHtml(string url, string charSet)//url是要访问的网站地址,charSet是目标网页的编码,如果传入的是null或者"",那就自动分析网页的编码
        {

            WebClient myWebClient = new WebClient();    //创建WebClient实例myWebClient

            //            需要注意的:

            //有的网页可能下不下来,有种种原因比如需要cookie,编码问题等等

            //这是就要具体问题具体分析比如在头部加入cookie

            // webclient.Headers.Add("Cookie", cookie);

            //这样可能需要一些重载方法。根据需要写就可以了

            //获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。

            myWebClient.Credentials = CredentialCache.DefaultCredentials;

            //如果服务器要验证用户名,密码

            //NetworkCredential mycred = new NetworkCredential(struser, strpassword);

            //myWebClient.Credentials = mycred;

            //从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)

            byte[] myDataBuffer = myWebClient.DownloadData(url);

            string strWebData = Encoding.Default.GetString(myDataBuffer);

            //获取网页字符编码描述信息

            Match charSetMatch = Regex.Match(strWebData, "<meta([^<]*)charset=([^<]*)\"", RegexOptions.IgnoreCase | RegexOptions.Multiline);

            string webCharSet = charSetMatch.Groups[2].Value;

            if (charSet == null || charSet == "")

                charSet = webCharSet;

            if (charSet != null && charSet != "" && Encoding.GetEncoding(charSet) != Encoding.Default)

                strWebData = Encoding.GetEncoding(charSet).GetString(myDataBuffer);

            return strWebData;

        }

  • 相关阅读:
    http 301 和 302的区别
    移动端与PHP服务端接口通信流程设计(增强版)
    导出大量数据到excel表
    c#中两种不同的存储过程调用与比较
    sql存储过程几个简单例子
    高级搜索指令
    SEO 百度后台主动推送链接
    C#利用Web Service实现短信发送(转)
    webservice测试实例
    克服演讲紧张的10个技巧
  • 原文地址:https://www.cnblogs.com/bestsaler/p/1835448.html
Copyright © 2011-2022 走看看