Op een form (VB.NET 2003) heb ik een WebBrowser-control geplaatst, dat met een aantal scripts bestuurd wordt om eerst in te loggen op een switch, en daarna naar een statuspagina te navigeren.
Zodra de pagina geladen is, wil ik de source hiervan opvragen om deze in een textbox te plaatsen.
Het probleem is dat er eerst ingelogd moet worden op de pagina (via een POST-actie een formulier versturen) voordat de andere pagina's toegankelijk zijn, deze login is gekoppeld aan een sessie-ID in een cookie.
De source kan dus niet apart gedownload worden, omdat deze alleen via de AxWebBrowser te zien is omdat die een actieve sessie open heeft staan.
Na wat zoeken heb ik wat trucs met de mshtml-libary en AxWebBrowser.Document uitgehaald, ik heb de source kunnen bekijken, maar hij heeft alleen de body geopend, terwijl ik de volledige source moet hebben (het gaat om enkele variabelen uit een script wat in de head staat).
Dit is mijn code:
"html.body.outerHTML" heb ik ook al geprobeerd, dit is dezelfde body-code, maar dan met <body> en </body>-tags, maar nog steeds geen head dus.
Wie weet raad?
Als het overigens zonder AxWebBrowser mogelijk is hoor ik dit graag, deze wordt nu alleen gebruikt om het loginform te posten. Als er een losse post-actie plaats kan vinden, waarna de juiste pagina met de sessiesleutel wordt opgevraagd, is het het beste, maar hiermee ben ik niet ver gekomen...
Zodra de pagina geladen is, wil ik de source hiervan opvragen om deze in een textbox te plaatsen.
Het probleem is dat er eerst ingelogd moet worden op de pagina (via een POST-actie een formulier versturen) voordat de andere pagina's toegankelijk zijn, deze login is gekoppeld aan een sessie-ID in een cookie.
De source kan dus niet apart gedownload worden, omdat deze alleen via de AxWebBrowser te zien is omdat die een actieve sessie open heeft staan.
Na wat zoeken heb ik wat trucs met de mshtml-libary en AxWebBrowser.Document uitgehaald, ik heb de source kunnen bekijken, maar hij heeft alleen de body geopend, terwijl ik de volledige source moet hebben (het gaat om enkele variabelen uit een script wat in de head staat).
Dit is mijn code:
Visual Basic .NET:
1
2
3
4
5
6
| ' loginactie AxWebBrowser1.Navigate("http://" & tbIP.Text & "/tgi/login.tgi", , , postDataBytes) ' na login, bij AxWebBrowser1.DocumentComplete-events: Dim html As mshtml.HTMLDocument = AxWebBrowser1.Document tbSource.Text = html.body.innerHTML |
"html.body.outerHTML" heb ik ook al geprobeerd, dit is dezelfde body-code, maar dan met <body> en </body>-tags, maar nog steeds geen head dus.
Wie weet raad?
Als het overigens zonder AxWebBrowser mogelijk is hoor ik dit graag, deze wordt nu alleen gebruikt om het loginform te posten. Als er een losse post-actie plaats kan vinden, waarna de juiste pagina met de sessiesleutel wordt opgevraagd, is het het beste, maar hiermee ben ik niet ver gekomen...
Owner SuitIT, https://www.suitit.nl