zoukankan      html  css  js  c++  java
  • c# 获取网页源代码(可解决某些页面乱码的问题)

      private string GetHtmlCode(string url)
             {
                 string htmlCode;
                 HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
                 webRequest.Timeout = 30000;
                 webRequest.Method = "GET";
                 webRequest.UserAgent = "Mozilla/4.0";
                 webRequest.Headers.Add("Accept-Encoding", "gzip, deflate");
                 HttpWebResponse webResponse = (System.Net.HttpWebResponse)webRequest.GetResponse();
                  if (webResponse.ContentEncoding.ToLower() == "gzip")//如果使用了GZip则先解压
                  {
                      using (System.IO.Stream streamReceive = webResponse.GetResponseStream())
                      {
                          using (var zipStream =
                              new System.IO.Compression.GZipStream(streamReceive, System.IO.Compression.CompressionMode.Decompress))
                          {
                              using (StreamReader sr = new System.IO.StreamReader(zipStream, Encoding.Default))
                             {
                                 htmlCode = sr.ReadToEnd();
                             }
                         }
                     }
                 }
                 else
                 {
                     using (System.IO.Stream streamReceive = webResponse.GetResponseStream())
                     {
                         using (System.IO.StreamReader sr = new System.IO.StreamReader(streamReceive, Encoding.Default))
                         {
                             htmlCode = sr.ReadToEnd();
                        }
                     }
                 }
     
                 return htmlCode;
            }
  • 相关阅读:
    declaration may not appear after executable statement in block
    linux 管道通信
    用c语言创建双向环形链表
    bash: ./LM35_make_fs: Permission denied 解决办法
    sunzl is not in the sudoers file.This incident will be reported
    基于嵌入式linux路由转发功能的实现
    关于eth0 eth0:1 和eth0.1关系介绍
    软重启
    Android中Serializable和Parcelable序列化对象详解
    公共技术点(Android 动画基础)
  • 原文地址:https://www.cnblogs.com/8765h/p/2373630.html
Copyright © 2011-2022 走看看