Есть ли способ получить кросс-домен веб-страницы внутри Iframe в веб-браузере? - PullRequest
1 голос
/ 25 июня 2011

Я искал способ хотя бы узнать, какой домен имеет iframe (с кросс-доменом) на веб-странице, используя элемент управления .NET WebBrowser.

Я использую .NET 2.0Visual Studio 2005 C #

Например, в элементе управления веб-браузера имеется веб-страница с iframe с другим доменом.

Я хочу получить значение "www.google.com"

http://localhost/index.html

<html>
  <head></head>
  <body>
    <iframe src="http://www.google.com/foobar"></iframe>  
  </body>
</html>

Я пытался получить домен и получить UnauthorizedAccessException из-за междоменного сценария в соответствии с MSDN.

  HtmlWindowCollection frames = webBrowser1.Document.Window.Frames;
  if (frames.Count > 0)
  {
    for (int i = 0, j = frames.Count; i < j; i++)
    {                        
      //if the iframe in the page has different domain
      if (frames[i].Document.Domain != this.webBrowser1.Document.Domain)
      {
         MessageBox.Show("iframe has different domain");
      }
    }
  }

Но, похоже, я не могу дажеполучить доступ к домену.

Я тоже пробовал Url frames[i].Url и все то же исключение.

Означает ли это, что я не могу получить какую-либо информацию из Iframe, кроме какiframe?Есть ли способ определить, имеет ли iframe другой домен без исключения?

1 Ответ

1 голос
/ 07 июля 2011

Это функция безопасности браузеров, предотвращающая мошенничество. В противном случае вы можете встроить их любимый банковский сайт в iFrame и извлечь из него данные.

...