2012-09-30 2 views
0

IE 또는 Chrome에서 개발자 도구를 사용하면 프레임에 대한 html 코드가 표시됩니다. 문제 없어.Web 브라우저를 사용하여 HTML 코드 IFrame을 가져올 때 UnauthorizedAccessException이 발생했습니다.

이제 C# 응용 프로그램을 사용하고 싶습니다. VS2010에 System.Windows.Form.WebBrowser가 있습니다. 나는 프레임을위한 HTML 코드를 얻으려고 노력한다.

public static HtmlElementCollection GetElementsByTagNameForFrame(this WebBrowser wb, 
              string tag, string idFrame) 
{ 
     return wb.Document.Window.Frames[idFrame].Document.GetElementsByTagName(tag); 
} 

하지만 오류가 발생합니다. UnauthorizedAccessException.

다시 시도해주세요. Read HTML code from iframe using Webbrowser C#하지만 같은 오류가 발생합니다.

string content = doc.Window.Frames["injected-iframe"].WindowFrameElement.InnerText; 

의견이 있으십니까?

답변

0

당신이 쓰지는 않았지만 iFrame에는 다른 도메인의 콘텐츠가 포함되어 있다고 가정합니다. 최근의 브라우저에는 공격자가 더 많은 작업을 수행 할 수 있도록 일부 XSS 방지 메커니즘이 포함되어 있습니다.

그런 경우 가장 쉬운 방법은 iFrame 내부에 표시되는 내용을 확인한 다음 WebClient를 사용하여 수동으로 웹 페이지를 다운로드하는 것입니다. 어떤 종류의 회원 영역이라면 쿠키를 복사해야 할 수도 있습니다. 그래서 iframe의 src 속성을 가져 와서 WebClient.DownloadString을 사용하여이 페이지를 다운로드하십시오.

관련 문제