[vb] webbrowser control & source

Pagina: 1
Acties:
  • 72 views sinds 30-01-2008

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
ik wil de source bekijken van de site die ik heb geladen in de webbrowser control
maar hij heeft de foutmelding:
object doesn't support this property or method

Code:
dim a as string
a = "www.blbalbla/index.html"
WebBrowser1.Navigate a
Text1.Text = WebBrowser1.innerHtml

ik heb ook gekeken in onderstaand topic, maar ik kom er niet uit. [topic=209800/1/25]

wat doe ik fout?

Multimonitor is relax :P


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Wat is webbrowser1 voor object, wat is text1 voor object, waar geeft ie precies die foutmelding??

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 14:15 schreef Janoz het volgende:
Wat is webbrowser1 voor object, wat is text1 voor object??
hoe het precies zit met die webbrowser snap ik niet helemaal. text1 is gewoon een textbox (=string)

Multimonitor is relax :P


  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Kijk hier eens naar :

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=9770&lngWId=1

Voorbeeld projectje en dat werkt goed.

SIZE does matter.
"You're go at throttle up!"


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 14:20 schreef Skinny het volgende:
Kijk hier eens naar :

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=9770&lngWId=1

Voorbeeld projectje en dat werkt goed.
klopt idd, maar het is niet precies wat ik zoek.
ik gebruik het om info uit een zoekopdracht te halen. ik moet dus ook de resultaten in de source vinden en dat gebeurt niet op deze manier

Multimonitor is relax :P


  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

:?

Die vat ik niet.. In die HTML staan toch de resultaten dan?

SIZE does matter.
"You're go at throttle up!"


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 14:35 schreef Skinny het volgende:
:?

Die vat ik niet.. In die HTML staan toch de resultaten dan?
ik vul ergens een formulier in en klik dan op submit. dan krijg ik een nieuwe site met de bijv. het telefoonnummer van die persoon. dat wil ik er dan juist uitvissen, snappie?

tis ook een beetje lastig uit te leggen

Multimonitor is relax :P


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

EN wat lukt er dan niet? Waarom heb je niks aan de gegeven link? Hierin wordt toch een vb sourceje gegeven waarmee een html bron wordt opgehaald? Die voldoet mischien wel niet helemaal aan de eisen, maar doet wel ongeveer hetzelfde als jij in je eerste post probeerde. Lees de source eens ff door hoe zij de html ophalen..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Op dinsdag 26 maart 2002 14:37 schreef MeIsTwisted het volgende:

[..]

ik vul ergens een formulier in en klik dan op submit. dan krijg ik een nieuwe site met de bijv. het telefoonnummer van die persoon. dat wil ik er dan juist uitvissen, snappie?

tis ook een beetje lastig uit te leggen
Dan doet dit voorbeeld precies wat je wilt.

Als url geef je dan iets op als 'http://www.site.com/script.php?query=blaat' oid, afhankelijk van je formulier.

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Probeer het eens met de MS Inet Transfer Control. Daarmee kan je ook HTML bronbestanden krijgen. Kwestie van <control>.OpenURL(<url>) gebruiken. Die functie returnt dan de HTML source als een string.

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Op dinsdag 26 maart 2002 14:52 schreef jmezach het volgende:
Probeer het eens met de MS Inet Transfer Control. Daarmee kan je ook HTML bronbestanden krijgen. Kwestie van <control>.OpenURL(<url>) gebruiken. Die functie returnt dan de HTML source als een string.
Precies wat het vbtje ook doet ;)

SIZE does matter.
"You're go at throttle up!"


Verwijderd

Ehmz, oh, okeej. Maar ehm, 'k las net ook dat 't probleem hem zat in die query string. Maar die kun je inderdaad met ?<naam>=<waarde> doen.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 14:50 schreef Skinny het volgende:

[..]

Dan doet dit voorbeeld precies wat je wilt.

Als url geef je dan iets op als 'http://www.site.com/script.php?query=blaat' oid, afhankelijk van je formulier.
nee, het is geen php. ik kan het niet met query doen. dat is juist het lastige ;(

Multimonitor is relax :P


Verwijderd

Wat is het dan wel???

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter

Multimonitor is relax :P


Verwijderd

't is een asp pagina dus. Daar kan je ook een query string mee gebruiken lijkt me.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 15:35 schreef jmezach het volgende:
't is een asp pagina dus. Daar kan je ook een query string mee gebruiken lijkt me.
ja, maar die pagina is niet van mij, en hij werkt met een formulier en niet met een query

Multimonitor is relax :P


Verwijderd

Ehmz, een formulier gaat ook vaak met een query string. Maar 't kan zijn dat het server side werkt. Dan zou dat inderdaad niet kunnen. Dan zul je zelf moeten gaan POSTen denk ik.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 15:38 schreef jmezach het volgende:
Ehmz, een formulier gaat ook vaak met een query string. Maar 't kan zijn dat het server side werkt. Dan zou dat inderdaad niet kunnen. Dan zul je zelf moeten gaan POSTen denk ik.
ja, ik heb de de maker van de site ook gemail, maar die mocht en wilde dat niet vrijgeven ofzo

Multimonitor is relax :P


Verwijderd

Lol. Maar ehm, kun je misschien ffies de URL geven?

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter

Multimonitor is relax :P


Verwijderd

Volgens de definitie van 't vorm in http://www.ikhebje.nl/right.asp?action=nummer gebruik je dus een POST method. Dat zou dus betekenen dat als je met een Winsock control een verbinding maakt met die webserver, en vervolgens de goede data stuurt je dat krijgt wat je nodig hebt.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 15:51 schreef jmezach het volgende:
Volgens de definitie van 't vorm in http://www.ikhebje.nl/right.asp?action=nummer gebruik je dus een POST method. Dat zou dus betekenen dat als je met een Winsock control een verbinding maakt met die webserver, en vervolgens de goede data stuurt je dat krijgt wat je nodig hebt.
dat zou ideaal zijn, maar hoe moet dat?

Multimonitor is relax :P


Verwijderd

Ehmz, 'k zou het ook zo niet weten eigenlijk. Je moet dan met een Winsock control dus een verbinding maken naar die webserver (dat is niet zo'n probleem lijkt me). Vervolgens moet je een POST /right.asp HTTP/1.1 doen. Dan een enter en dan moet je je headers als Content-type: en Content-length: sturen. Dan weer een enter, en dan moet je je query string sturen. Maar 'k weet niet zeker of dit gaat werken, en ik weet al helemaal niet zeker hoe het precies moet. 'k heb er wel eens wat mee gedaan vanuit PHP, maar 't wou niet helemaal werken.

  • terabyte
  • Registratie: September 2001
  • Laatst online: 28-06 12:53

terabyte

kan denken als een computer

Gebruik deze functie (die van de XMLHTTP object gebruik maakt):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
' ==============================================
'     URL OPENEN EN LEZEN
' ==============================================

Public Function ReadFileRemote(URL As String) As String

    Dim MaxHTTPDelay As Integer
    MaxHTTPDelay = 5
    
    Dim xml As Object
    Set xml = CreateObject("MSXML2.ServerXMLHTTP")
    
    xml.Open "GET", "http://" & URL, True
    Call xml.Send

    On Error Resume Next

    If xml.ReadyState <> 4 Then
      xml.waitForResponse MaxHTTPDelay
    End If
    
    ReadFileRemote = "FOUT: "
    If Err.Number <> 0 Then
      Call WriteLogEntry("ExtscriptError: " & Err.Number)
      Err.Number = 500
    Else
      If xml.ReadyState <> 4 Then
        ReadFileRemote = ReadFileRemote & _
                     "Time-out (" & MaxHTTPDelay & " sec. gewacht)"
      ElseIf xml.Status <> 200 Then
        ReadFileRemote = ReadFileRemote & "HTTP " & xml.Status
        Call WriteLogEntry(xml.ResponseText & xml.Status)
      Else
        ReadFileRemote = xml.ResponseText
      End If
    End If
    Err.Clear
    Set xml = Nothing
End Function


' HTML in textbox:
Dim a As String
a = "www.blbalbla/index.html"
Text1.Text = ReadFileRemote(a)

De WriteLogEntry dingen kan je weghalen (of laten zitten als je zo'n functie hebt om log entries te schrijven)




EDIT:

ik zie dat je ook POST functionaliteit wilt.

Vervang:

Public Function ReadFileRemote(URL As String) As String

door:

Public Function ReadFileRemote(URL As String, Optional PostData As String) As String

en vervang:
code:
1
2
    xml.Open "GET", "http://" & URL, True
    Call xml.Send

door:
code:
1
2
3
4
5
6
7
    If Len(PostData) = 0 Then
      xml.Open "GET", "http://" & URL, False
      Call xml.Send
    Else
      xml.Open "POST", "http://" & URL, True
      Call xml.Send(PostData)
    End If

note: de toevoeging met POST gegevens heb ik nog niet getest, want ik heb VB nu niet geinstalleerd, maar dit moet denk ik wel werken.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 15:56 schreef jmezach het volgende:
Ehmz, 'k zou het ook zo niet weten eigenlijk. Je moet dan met een Winsock control dus een verbinding maken naar die webserver (dat is niet zo'n probleem lijkt me). Vervolgens moet je een POST /right.asp HTTP/1.1 doen. Dan een enter en dan moet je je headers als Content-type: en Content-length: sturen. Dan weer een enter, en dan moet je je query string sturen. Maar 'k weet niet zeker of dit gaat werken, en ik weet al helemaal niet zeker hoe het precies moet. 'k heb er wel eens wat mee gedaan vanuit PHP, maar 't wou niet helemaal werken.
daarom probeer ik het ook op deze manier. en via die webbrowser control moet je de source eruit kunnen vissen, maar het blijft maar niet lukken :'(

Multimonitor is relax :P


Verwijderd

Hmmz, 't bericht van terabyte zou best eens kunnen werken. Maar ook dat weet ik niet zeker.

  • terabyte
  • Registratie: September 2001
  • Laatst online: 28-06 12:53

terabyte

kan denken als een computer

Op dinsdag 26 maart 2002 15:58 schreef jmezach het volgende:
Hmmz, 't bericht van terabyte zou best eens kunnen werken. Maar ook dat weet ik niet zeker.
heb POST dingen toegevoegd, zie edit.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
helaas, het werkt wel goed, maar niet zoals ik wil, het werkt net zoals die link uit een paar posts geleden
http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=9770&lngWId=1

Multimonitor is relax :P


  • terabyte
  • Registratie: September 2001
  • Laatst online: 28-06 12:53

terabyte

kan denken als een computer

Op dinsdag 26 maart 2002 16:09 schreef MeIsTwisted het volgende:
helaas, het werkt wel goed, maar niet zoals ik wil, het werkt net zoals die link uit een paar posts geleden
http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=9770&lngWId=1
Ook met die PostData toevoegingen!?

Text1.Text = ReadFileRemote("www.blaat.com/login.asp","username=kees&password=test")

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
het moet hetzelfde werken eigenlijk als dat je in Internet Explorer rechtmuisknop->view source klikt.

Multimonitor is relax :P


Verwijderd

Krijg je het in die source wel dan???
De data die je wilt hebben bedoel ik?

  • terabyte
  • Registratie: September 2001
  • Laatst online: 28-06 12:53

terabyte

kan denken als een computer

Op dinsdag 26 maart 2002 16:13 schreef MeIsTwisted het volgende:
het moet hetzelfde werken eigenlijk als dat je in Internet Explorer rechtmuisknop->view source klikt.
Dat krijg je ook met die functie.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 16:13 schreef jmezach het volgende:
Krijg je het in die source wel dan???
De data die je wilt hebben bedoel ik?
jep, het is eigenlijk precies hetzelfde idee als dat je nu rechts klikt en dan view source. dan zie je ook de reacties enzo

Multimonitor is relax :P


Verwijderd

Mjah, als je dus een query string gebruikt voert hij het niet uit. Dus zul je toch met POST moeten gaan werken denk ik.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 16:14 schreef terabyte het volgende:

[..]

Dat krijg je ook met die functie.
niet helemaal ;(
hier heeft iemand hetzelfde probleem:
http://groups.google.com/groups?hl=nl&threadm=u%23j1CFll%23GA.70%40cppssbbsa03&rnum=18&prev=/groups%3Fq%3Dwebbrowser%2Bvb%2Bsource%26hl%3Dnl%26start%3D10%26sa%3DN

Multimonitor is relax :P


  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
dat moet niet met het webbrowser object, maar met het inet protocol. ik heb het in mijn applicatie ook ingebouwd. weet de syntax nu even niet uit mijn hoofd, maar het is iets met GET.

ik post het vanavond als er nog interesse in is.

chaozz.nl | RetroGameCouch


  • terabyte
  • Registratie: September 2001
  • Laatst online: 28-06 12:53

terabyte

kan denken als een computer

Op dinsdag 26 maart 2002 16:16 schreef MeIsTwisted het volgende:

[..]

niet helemaal ;(
Dan moet je meer info geven.

Want het is heel simpel:
Hij werkt wel helemaal goed, of hij werkt helemaal niet (en niks daartussen in).

En je moet weten wat je POST data is.

Dus geef ff meer info met de echt link en de POST Data die je wilt verzenden.

(En mijn functie heeft dus niks te maken met de webbrowser control)
Op dinsdag 26 maart 2002 16:17 schreef chaozz het volgende:
dat moet niet met het webbrowser object, maar met het inet protocol. ik heb het in mijn applicatie ook ingebouwd. weet de syntax nu even niet uit mijn hoofd, maar het is iets met GET.

ik post het vanavond als er nog interesse in is.
En hij wilt iets met POST...

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 16:17 schreef terabyte het volgende:

[..]

Dan moet je meer info geven.

Want het is heel simpel:
Hij werkt wel helemaal goed, of hij werkt helemaal niet (en niks daartussen in).

En je moet weten wat je POST data is.

Dus geef ff meer info met de echt link en de POST Data die je wilt verzenden.

(En mijn functie heeft dus niks te maken met de webbrowser control)
[..]

En hij wilt iets met POST...
het gaat op deze manier:
ik vul een formulier in
dat wordt verstuurd
en dan wil ik de de source zien van de site die ik dan krijg met die resultaten. ik weet niet precies wat en hoe het wordt gepost. in een aantal post terug heb ik het ook uitgelegd.

Multimonitor is relax :P


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

ff een berichtje aan de topic starter:


Als je nu niet duidelijk aangeeft wat je niet lukt en wat mis gaat, gaat dit topic dicht. Ik krijg steeds meer het gevoel dat je geen id hebt waar je eigenlijk mee bezig bent. Ik kan het natuurlijk mis hebben, maar het is niet de bedoeling dat wij hier uiteindelijk je hele progje in elkaar gaan zetten. Een beetje zelfwerkzaamheid is hier in /14 wel vereist. Zie ook het quickstart topic bovenaan..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 16:22 schreef Janoz het volgende:
ff een berichtje aan de topic starter:


Als je nu niet duidelijk aangeeft wat je niet lukt en wat mis gaat, gaat dit topic dicht. Ik krijg steeds meer het gevoel dat je geen id hebt waar je eigenlijk mee bezig bent. Ik kan het natuurlijk mis hebben, maar het is niet de bedoeling dat wij hier uiteindelijk je hele progje in elkaar gaan zetten. Een beetje zelfwerkzaamheid is hier in /14 wel vereist. Zie ook het quickstart topic bovenaan..
het enige wat ik wil weten is hoe ik de source van een site uit die webbrowser control haal, want dat gaat namelijk fout. Meer hoef ik niet te weten.
ik wil dus niet de oorspronkelijke source code zien, maar die source code van het resultaat

Multimonitor is relax :P


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Dan moet je natuurlijk wel de source opvragen van het resultaat, en niet van de pagina waarop het formulier staat toch??

Wees asjeblieft iets duidelijker
Wat krijg je nu, wat wil je hebben, wat is het verschil, wat voor foutmelding krijg je?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Op dinsdag 26 maart 2002 16:35 schreef Janoz het volgende:
Dan moet je natuurlijk wel de source opvragen van het resultaat, en niet van de pagina waarop het formulier staat toch??

Wees asjeblieft iets duidelijker
Wat krijg je nu, wat wil je hebben, wat is het verschil, wat voor foutmelding krijg je?
wat ik nu krijg en heb staat in de eerste post.
als je op deze site rechts klikt en dan view source doet, zie je alle replies staan. Deze staan niet in de oorspronkelijke source. ik wil dus de source met de replies krijgen, maar dat lukt dus niet.

Multimonitor is relax :P


Verwijderd

Hmmz, het volgende zou kunnen werken, alleen krijg ik de verkeerde pagina terug, namelijk de homepage:

POST /omgekeerd/right.asp HTTP/1.1
Content-type: application/x-www-form-urlencoded
Content-length: 49
Host: www.ikhebje.nl

action=nummer&kerngetal=<kerngetal>&abboneenummer=<abboneenummer>

Let er op dat Content-Length: gelijk moet zijn aan de lengte van de data die je verstuurd.

'k vermoed overigens dat ze op die site een beveiliging hebben ingebouwd waardoor je alleen de informatie krijgt als je van http://www.ikhebje.nl/omgekeerd/right.asp komt, dus misschien moet je er nog een Referer: header bij gooien.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Ik denk dat ik je nu wel kansen genoeg heb gegeven... Dit wordt zo langzamerhand een beetje een hopeloos geval (nofi). Er staat al tig keer in dit topic hoe je een source van een html opvraagt, maar je hebt blijkbaar nog steeds moeite om dit voor elkaar te krijgen.. Probeer het anders eerst eens met een iets simpelere pagina zodat je ook begrijpt waar je precies mee bezig bent...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.