Hallo Community,
ich habe eine Frage, die für den Erfolg oder Misserfolg eines gesamten Projektes von entscheidender Bedeutung ist. Ich hoffe ihr könnt mir helfen.
Wenn man mit dem .NET 2.0 Windows-Forms-Control WebBrowser eine HTML-Seite mit einen Frameset lädt, kann man im WebBrowserDocumentCompleted-EventHandler auf den Inhalt der einzelen Frames mit
((WebBrowser)objSender).Document.Window.Frames[i].Dokument
zugreifen. So weit so gut.
Wenn eine Seite in dem Frame jedoch über https geladen wird, bekomme ich beim Zugriff folgende Exception:
System.UnauthorizedAccessException: Zugriff verweigert
at System.Windows.Forms.IHTMLWindow2.GetDocument()
at System.Windows.Forms.HtmlWindow.get_Document()
at MyWindow.WebBrowserDocumentCompleted(Object objSender, WebBrowserDocumentCompletedEventArgs wbdcea)
Wenn man eine https-Seite einzeln lädt, dann bekommt man mit
((WebBrowser)objSender).Document
Zugriff.
Was muss ich tun, dass ich auch in Framesets Zugriff zu bekommen?
Ist das evtl. ein Rechte-Problem? Oder was anderes?
herbivore
PS: Die https-Seite einzeln zu laden, ist nicht möglich, weil das von der Web-Site verhindet wird (was ja auch legitim ist).
Ich hätte nur die idee das du den Inhalt des Control pufferst und dann mit den Gepufferten daten Weiterarbeitest
Ist nur eine idee hoffe hilft dir weiter
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Hallo S.H.-Teichhof,
das Problem ist, dass ich gar nicht erst an den Inhalt rankomme. Deshalb kann ich auch nichts puffern. Da das Problem sehr dringlich ist, suche ich weiter nach einer Lösung.
herbivore
hast du es hingekriegt?
mindestens hast du mir geholfen 🙂 ich wusste nämlich nicht, wie ich auf den html-code der einzelnen frames komme!
gruss,
.unreal
Hallo .unreal,
nein, leider nicht, aber es hat sich herausgestellt, dass das Problem nur und genau dann auftritt, wenn der Frame, der die https-Seite enthält selbst nicht per https geladen wurde. Wenn Frameset und Frames per https geladen wurden, kann man zugreifen.
Ich hatte ich schon überlegt, ob das was mit Cross-Frame-Scripting bzw. mit dem vermeiden dieses Sicherheitsrisikos zu tun hat. Also das der WebBrowser mir da ein Bein stellt, weil Cross-Frame-Scripting vermieden werden soll.
Würde mich immer noch freuen, wenn da jemand was wüsste.
herbivore
hallo herbivore
so wie es aussieht, werde ich in einigen tagen mit demselben problem konfrontiert! wenn ich was herausfinde, werde ich es hier posten
gruss,
.unreal
Hallo!
Habe exakt das gleiche Problem (unabhängig ob http oder https) sobald der frame nicht auf dem gleichen Server liegt.
Hat jemand dafür eventuell jetzt eine Lösung gefunden?
regards,
Sirion
PS: Ich suche nach einer grundsätzlichen Lösung auf die gerenderten (also nach JScript etc) Frames zugreifen zu können - hat vielleicht dazu jemand eine Idee?