2010-07-07 6 views
0

내가 이상한 문제가 있습니다URL에서 HTML 소스를 가져 오는 중, CSS 인라인 문제가 발생했습니다.

내가 사용하는 URL의 HTML 소스를 얻고을이 :

string html; 
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url); 
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
{ 
    using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) 
    { 
     html = reader.ReadToEnd(); 
     reader.Close(); 
    } 
    response.Close(); 
} 

내가 요청하고 페이지가이 같은 CSS를 인라인 있습니다

<span class="VL" style="display:inline-block;height:20px;width:0px;"></span> 

그러나 html var 값은

<span class="VL" style="display:inline-block;"></span> 

누구나 알고 있습니다. 필자는 많은 인시던트로 테스트했고 WebRequest와 WebClient도 사용했지만 작동하지 않습니다.

답변

2

사이트에서 사용자가 봇이라고 생각하지 않도록 사용자 에이전트를 보내야 할 수도 있습니다. 몇몇 사이트는 봇으로부터 요청을 받았을 때 CSS를 신경 쓸 필요가 없습니다. 또한 원격 HTML의 독서는 사용하여 간단하게 할 수있는 WebClient :

using (var client = new WebClient()) 
{ 
    client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4"; 
    string html = client.DownloadString(url); 
} 
+0

빙고! 이 작품 Darin! 고마워요! – Fabio

0

당신이 브라우저 개발 툴을 통해 소스를보고, 요소 검사를 클릭하여? JavaScript를 통해 클라이언트 측의 높이 및 너비 특성을 추가하고 수정 된 스타일을 보여주는 브라우저에서 소스를 볼 수 있습니까?

+0

Tks Chris,하지만 페이지에 자바 스크립트가 없습니다. Darin의 솔루션이 효과적입니다. – Fabio

관련 문제