쿠키 문제 일까 의심됩니다. 내가 페이지를 가져 오려고 할 때 나는 횡설수설 뿐이 기 때문에 gzip 암호화처럼 보입니다. 쿠키 문제인 경우 응답에서 오류를 반환해야합니다. 아무리 해도. 여기 당신의 문제에 대한 나의 해결책이있다.
public static void Main(string[] args)
{
HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.yellowpages.ae/categories-by-alphabet/h.html");
request.Method = "GET";
request.ContentType = "text/html;charset=utf-8";
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
doc.Load(stream, Encoding.GetEncoding("utf-8"));
}
}
}
catch (WebException ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine(doc.DocumentNode.InnerHtml);
Console.ReadKey();
}
우리가받는 gzip 메시지를 해독하거나 추출한다는 것입니다. 내가 물어 본 GZIP이 어땠는지 어떻게 알 수 있었습니까? 디버거의 응답 스트림에서 ContentEncoding이 gzip이라고했습니다. 코드에
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
당신은 좋은 위치 :
는 기본적으로 바로 추가 할 수 있습니다.