2014-07-08 3 views
0

이 코드는 다른 사이트에서도 작동하지만, "http://www.aedn.org/page/1"은 null을로드합니다. 제발 나를 도울 수 있습니다. 브라우저가 당신을 위해 리디렉션을 수행하지만 HtmlAgilityPack는하지 않습니다 - 당신이 사용하는 URL은 HTTP 302 응답 헤더를 사용하여 다른 URL로 리디렉션되기 때문이다Htmldocument Null을 반환합니다.

 string Way = Url + PageNumber.ToString(); 

     HtmlWeb Source = new HtmlWeb(); 
     HtmlDocument Doc = Source.Load(Way); 

     List<Movie> MovieList = new List<Movie>(); 

답변

0

.

응답에 쿠키가 포함되어 있기 때문에 후속 요청이 작동합니다.

예를 들어 확인할 수 있습니다. 새 시크릿 브라우저 창에서 Fiddler을 사용합니다.

+0

고맙습니다. – Euphoria

0

우리가 알고있는 것처럼 html 페이지의 인코딩이 다를 수 있습니다. 그래서 C# 클래스 WebClient를 사용하여 html 소스 을 얻은 다음 htmlagilitypack을 사용하여 html 소스를 확인할 수 있습니다.

WebClient webClient = new WebClient(); 
webClient.Headers.Add(HttpRequestHeader.AcceptEncoding, "UTF-8"); 
byte[] b = webClient.DownloadData(url);  
MemoryStream ms = new MemoryStream(b); 
HtmlDocument Doc = new HtmlDocument(); 
Doc.load(ms,"UTF-8"); 
관련 문제