用C#获取网页源码,如何判断该网页是否开启gzip之类的压缩?
 HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  HttpWebResponse webResponse = (System.Net.HttpWebResponse)webRequest.GetResponse();
webResponse.ContentEncoding有的时候是gzip,有的时候是空
即使网页开启了gzip,有的时候获取到的 还是空,
 HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
            webRequest.Headers.Add("Accept-Encoding", "gzip, deflate");
            HttpWebResponse webResponse = (System.Net.HttpWebResponse)webRequest.GetResponse();这样还是不行,有没有更好的办法用C#判断网页是否开启了gzip之类的压缩gzipC#源代码HttpWebRequest HttpWebResponse

解决方案 »

  1.   

    即使网页用了gzip压缩,很多时候获取的也是空
      

  2.   

    这要看对方网页是什么承载方式,IIS的话是正规的,Http头不会不加gzip说明,但是应用程序自承载就不见得了,特别是WCF的情况,往往Http头不告诉用户却偷偷使用gzip的,至少我就做过这事。
      

  3.   

    另外你判断读取的字节流的前2个字节内容,如果是1F8B,那么99%的可能性就是gzip格式了,因为gzip格式都是那样开头的。
      

  4.   

    如果他不用gzip压缩,而使用别的压缩方式呢