исключение шифрования gzip htmlagilitypack - PullRequest
3 голосов
/ 20 января 2012

У меня исключение бросок gzip не поддерживается.Это все, что я использую загрузку страницы, есть идеи, как разрешить gzip?

        HtmlWeb hwObject = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument htmldocObject = hwObject.Load(siteURL);

1 Ответ

11 голосов
/ 20 января 2012

Вы можете загрузить страницу самостоятельно, то есть используя класс, полученный из WebClient (или вручную сделав WebRequest и установив AutomaticDecompression)

public class GZipWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
        return request;
    }
}

Учитывая это, вы можете сделать:

string html;
using(var wc = new GZipWebClient())
  html = wc.DownloadString(siteUrl);

var htmldocObject = new HtmlDocument();
htmldocObject.LoadHtml(html);
...