Haben Sie nicht auch schon versucht, fremde HTML Inhalte auf Ihren Webseiten zu präsentieren? Dann sind Sie auf Probleme gestoßen, denn das Angreifen einer fremden Seite ist in diesem zusammenhang gar nicht über herkömmliche HTML Objekte möglich. Auch der Include läßt dies nicht zu.
Ich habe daher eine kleine wsh Komponente entworfen, die Sie beliebig ändern können. Und so gehts: Siebrauchen erst mal die htmltransfer.wsc, die im gleichen Verzeichnis liegen muß wie die Seite, von der aus diese instanziiert wird.
<?xml version="1.0"?> <component> <registration description="inettransfer" progid="inettransfer.WSC" version="1.00" classid="{72f08580-fc1f-11d4-8c9d-00e07d02a0a0}" > </registration> <public> <method name="gethtml"> </method> </public> <implements type="ASP" id="ASP"/> <script language="VBScript"> <![CDATA[ public function gethtml(url) set inet = CreateObject("inetctls.inet.1") inet.protocol=4 gethtml = inet.OpenURL("" & url & "") gethtml = replace(gethtml,"../","http://" & url & "/") end function ]]> </script> </component> |
Das schöne: Sie müssen die Komponente nicht registrieren, da dies bei wsh nicht erforderlich ist.
Als nächstes benötigen Sie noch eine Datei htmlanzeigen.asp, die diese Komponente benutzt.
<%@ Language=VBScript %> <b>Inhalt einer fremden Seite einfügen</b><hr> <% Dim strPath strPath = "script:" & Server.MapPath("inettransfer.wsc" ) set test = GetObject( strPath ) Response.Write test.gethtml("www.intranaut.de") %> <hr><b>Inhalt der fremden Seite ist hier zu Ende</b> |
Wenn nun inettransfer.wsc und htmlanzeigen.asp auf gleicher Ebene liegen, dann funktioniert das Beispiel. Sie haben dadurch viele Möglichkeiten. Sie können mit Replace z.B. die CSS Datei der Zielseite gegen Ihre css Datei austauschen oder den HTML Source durchsuchen. Ebenso könnten Sie Vergleichen ob sich auf der Seite was geändert hat etc...