Toon posts:

[VB.net] Op afstand form laten invullen.

Pagina: 1
Acties:
  • 166 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Mensen,
Ik heb een vraag, ik wil met mijn VB.net programma automatisch een postcode op een site laten invullen die ik zelf niet gemaakt heb. Het gaat in dit geval om de site van KVK, daar kan men heen gaan en aan de hand van een abonnement kunnen ze bedrijfsnamen met tel nummers bestellen. Nu wil ik dat via mijn programma dit automatisch ingevuld wordt zodat ze maar 1x hoeven te klikken. Is dit uberhaupt mogelijk of niet? IK heb wel iets gevonden maar volgens mij hebben zij het over een zelfgemaakte site: Hoe kan ik data laten invullen op een site zonder.

btw. HIer is geen sprake van illegale gebruik maken van die site, want mijn klant heeft een abbonnement voor KVK, ik wil alleen mijn software zo makkelijk mogeljk hebben.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Het lijkt mij niet verstandig om dit in je software pakket mee te nemen. Mocht de site op de KvK-veranderen dan werkt jou functie in je pakket niet meer.

Jij bent niet echt verantwoordelijk voor de KvK site. Als de klant perse ze postcode daar al wil hebben, zou hij een mailtje naar de KvK webmaster(s) moeten doen.

Verwijderd

Topicstarter
Maar is het wel mogelijk om dit te doen? Ik wil toch graag proberen of het lukt. Weet jij hoe dat dan moet?

Iemand een idee?

[ Voor 9% gewijzigd door Verwijderd op 13-04-2004 13:56 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:00

gorgi_19

Kruimeltjes zijn weer op :9

Mail anders de webmaster; misschien hebben ze wel een mogelijkheid mbv een webservice oid. Anders een optie om zelf een form te maken en deze gedeeltelijk in te vullen; met een beetje pech wordt er alleen een referrercheck gedaan.

[ Voor 44% gewijzigd door gorgi_19 op 13-04-2004 14:00 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
hmm...dat kan ik misschien wel eens doen, maar is het uberhaupt mogelijk?!

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Moet er een nieuw Explorerbrowser venster worden geopend op een pagina met het invoerveld vooringevuld of wil je vanuit je applicatie de waarde versturen en dan in je app iets met de resultaten doen?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:00
Verwijderd schreef op 13 april 2004 @ 14:01:
hmm...dat kan ik misschien wel eens doen, maar is het uberhaupt mogelijk?!
Ja, zorg er gewoon voor dat je het forumuliertje namaakt met de juiste velden. Vul deze echter zelf in en verstuur deze.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:00

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 13 april 2004 @ 14:01:
hmm...dat kan ik misschien wel eens doen, maar is het uberhaupt mogelijk?!
Dat is weer afhankelijk of er een referrercheck wordt gedaan en andere authenticatiemogelijkheden enzo.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
P_de_B schreef op 13 april 2004 @ 14:03:
Moet er een nieuw Explorerbrowser venster worden geopend op een pagina met het invoerveld vooringevuld of wil je vanuit je applicatie de waarde versturen en dan in je app iets met de resultaten doen?
Niet helemaal, er moeten een nieuw IE geopend worden met bijvoorbeeld de postcode uit mijn applicatie al ingevuld in het formulier.

Verwijderd

Topicstarter
Ik heb iets gevonden in de MSDN van microsoft:

http://msdn.microsoft.com...ClassUploadDataTopic1.asp

Is dit misschien een goeie oplossing voor mijn probleem

Na een beetje pielen heb ik nu dit:

Private Sub OpenBrowser(ByVal url As String)
Dim ie As New SHDocVw.InternetExplorerClass
Dim wb As IWebBrowserApp = CType(ie, IWebBrowserApp)
'b.Visible = True
Dim o As Object = Nothing
wb.Navigate(url, o, o, o, o)
wb.Document.Forms().frmSearch.s1.value = "1"
'wb.Document.Forms(0).frmSearch.s1.Value = "Login ID"
'wb.Document.Forms(0).submit()
'wb.Visible = True

End Sub 'OpenBrowser

Nu crashed hij alleen op sb.Document.forms(0)
Dit is de foutmeldling:
System.Runtime.InteropServices.COMException
===================================
Het volgende heb ik nu en zou moeten werken, maar dit werkt niet krijg nog steeds dezelfde foutmelding. Ziet iemand wat ik verkeerd doe?

Dim IE As Object
IE = CreateObject("InternetExplorer.Application")
IE.Navigate("http://webmail.juno.com")
IE.Visible = True
IE.Document.Forms(0).LOGIN.Value = "test" ' Set the textbox called 'txtField' to text1's text
'IE.document.all("btnSubmit").Click() ' click the submit button if you want

[ Voor 85% gewijzigd door Verwijderd op 14-04-2004 10:45 ]


Verwijderd

Topicstarter
kick

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Post de stack is van je exception.

Verwijderd

Topicstarter
questa schreef op 14 april 2004 @ 11:35:
Post de stack is van je exception.
'DefaultDomain': Loaded 'c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll', No symbols loaded.
'WindowsApplication4': Loaded 'c:\windows\assembly\gac\mscorlib.resources\1.0.5000.0_nl_b77a5c561934e089\mscorlib.resources.dll', No symbols loaded.
'WindowsApplication4': Loaded 'D:\Documenten\Test\WindowsApplication4\bin\WindowsApplication4.exe', Symbols loaded.
'WindowsApplication4.exe': Loaded 'c:\windows\assembly\gac\system.windows.forms\1.0.5000.0__b77a5c561934e089\system.windows.forms.dll', No symbols loaded.
'WindowsApplication4.exe': Loaded 'c:\windows\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll', No symbols loaded.
'WindowsApplication4.exe': Loaded 'c:\windows\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll', No symbols loaded.
'WindowsApplication4.exe': Loaded 'c:\windows\assembly\gac\microsoft.visualbasic\7.0.5000.0__b03f5f7f11d50a3a\microsoft.visualbasic.dll', No symbols loaded.
'WindowsApplication4.exe': Loaded 'c:\windows\assembly\gac\microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\microsoft.mshtml.dll', No symbols loaded.
'WindowsApplication4.exe': Loaded 'c:\windows\assembly\gac\microsoft.visualbasic.resources\7.0.5000.0_nl_b03f5f7f11d50a3a\microsoft.visualbasic.resources.dll', No symbols loaded.
An unhandled exception of type 'System.MissingMemberException' occurred in microsoft.visualbasic.dll

Additional information: Het openbare lid Value voor het type DispHTMLElementCollection is niet gevonden.


Onverwerkte uitzondering: System.MissingMemberException: Het openbare lid Value voor het type DispHTMLElementCollection is niet gevonden.
at Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateSet(Object o, Type& objType, String name, Object[] args, String[] paramnames, Boolean OptimisticSet, CallType UseCallType)
at Microsoft.VisualBasic.CompilerServices.LateBinding.LateSetComplex(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean OptimisticSet, Boolean RValueBase)
at WindowsApplication4.Form1.Button1_Click(Object sender, EventArgs e) in D:\Documenten\Test\WindowsApplication4\Form1.vb:line 69
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at WindowsApplication4.Form1.Main() in D:\Documenten\Test\WindowsApplication4\Form1.vb:line 1The program '[672] WindowsApplication4.exe' has exited with code 0 (0x0).

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

De interface van de kvk is al meer dan een jaar niet verandert, en je kunt alle parameters via de url meegeven! ff de url opzoeken.... Tenminste als je een bedrijf wil zoeken, andere (betaal) opties ken ik nog niet. Maar dit zou je op weg moeten helpen.

sLink = "https://server.db.kvk.nl/TST-BIN/ZS/ZSWWW01@?TYPE=PCHN&AWCD=" +;
ALLTRIM(THIS.txtPostcode.Value) + ;
"&NHVC=" + ALLTRIM(THIS.txtHuisnummer.Value) + ;
"&HIST=&AANT="

sLink = "https://server.db.kvk.nl/TST-BIN/ZS/ZSWWW01@?TYPE=HNPL&MZKN=" +;
ALLTRIM(THIS.txtHandelsnaam.Value) + ;
"&WPLT=" + ALLTRIM(THIS.txtPlaatsnaam.Value) + ;
"&HIST=&AANT="

En ik parse de content met de volgende array:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
&& [S]earch [R]epeat [F]ield
This.aWord[1]   = [S] + [<A HREF="/TST-BIN/FU/TSWS001@?BUTT=]
This.aWord[2]   = [F] + [kvknr1]                                    && [09101663] + ([0000])
This.aWord[3]   = [S] + [">]
This.aWord[4]   = [F] + [handelsnaam]                               && [AAAAA] als handelsnaam => 44 dan afgekapt?
This.aWord[5]   = [S] + [</A>]
This.aWord[6]   = [R] + [ ]
This.aWord[7]   = [I] + [kvknr2]                                    && [99999999] + ([&nbsp;9999])
This.aWord[8]   = [S] + CHR(10) + [  ]
This.aWord[9]   = [F] + [postcode]                                  && [9999AA]
This.aWord[10]  = [S] + [ ]
This.aWord[11]  = [F] + [woonplaats]                                && [AAAAA]
This.aWord[12]  = [S] + [  ]
This.aWord[13]  = [R] + [ ]
This.aWord[14]  = [F] + [soort]                                     && [Rechtspersoon] / [Hoofdvestiging] / [Nevenvestiging]
This.aWord[15]  = [R] + [ ]
This.aWord[16]  = [F] + [vknaam]                                    && [ ] / [V]
This.aWord[17]  = [S] + [<BR>] + CHR(10)
This.iWords     = 17

seweso's blog


Verwijderd

Topicstarter
hey dit is al meer in de richting, maar ik moet dus een andere optie hebben zodat ik de gegevens van zo'n bedrijf kan bestellen. En dit kan niet gedaan worden door gegevens in de URL mee te zenden. Maar toch bedankt...

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Verwijderd schreef op 15 april 2004 @ 18:34:
hey dit is al meer in de richting, maar ik moet dus een andere optie hebben zodat ik de gegevens van zo'n bedrijf kan bestellen. En dit kan niet gedaan worden door gegevens in de URL mee te zenden. Maar toch bedankt...
Wat voor een gegevens moet je precies hebben?

* seweso heeft zelf een kopie van de hele kvk-database :P

seweso's blog


Verwijderd

Topicstarter
seweso schreef op 16 april 2004 @ 19:52:
[...]
Wat voor een gegevens moet je precies hebben?

* seweso heeft zelf een kopie van de hele kvk-database :P
Ik moet mee kunnen sturen de postcode, bedrijfsnaam

Verwijderd

Ik heb zoiets een keer gemaakt maar dan moest er gezoch kunnen worden op KvK nummer. Via een Macro in Excel en de leuke optie 'gegevens van het web ophalen' kon ik via een loop duizenden adressen ophalen. Ideaal voor een mailing!

Verwijderd

Topicstarter
Verwijderd schreef op 03 mei 2004 @ 11:28:
Ik heb zoiets een keer gemaakt maar dan moest er gezoch kunnen worden op KvK nummer. Via een Macro in Excel en de leuke optie 'gegevens van het web ophalen' kon ik via een loop duizenden adressen ophalen. Ideaal voor een mailing!
Wat mijn doel is dat hij geen gegevens ophaald maar gewoon een formulier op die website invuld,en dat dan de gebruiker zelf op dew knop submit moet drukken ivm met kosten die er gemaakt worden na die submit. Wat ik dus wil ik is weten hoe je een input type="text" name="naam" laat invullen door vb.NET

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Verwijderd schreef op 03 mei 2004 @ 11:44:
[...]


Wat mijn doel is dat hij geen gegevens ophaald maar gewoon een formulier op die website invuld,en dat dan de gebruiker zelf op dew knop submit moet drukken ivm met kosten die er gemaakt worden na die submit. Wat ik dus wil ik is weten hoe je een input type="text" name="naam" laat invullen door vb.NET
Zoals ik boven heb geschets kun je makkelijk (zonder dat dit geld kost) zoeken integreren in een desktop applicatie. (Gewoon een http active-x componentje van ms gebruiken). En vervolgens kun je met behulp van het dossier-nr naar een betaal gedeelte (deze kun je gewoon in de url gebruiken).

Ik zie niet waarom je per-see de gegevens in de invoer-vakjes van de pagina van de kvk wil stoppen. Als je een probleem hebt en je wil dat op specifiek op een bepaalde manier oplossen moet wel duidelijk zijn waarom het op die manier opgelost moet worden want anders zal iedereen handigere oplossingen aandragen.

seweso's blog


Verwijderd

Topicstarter
Ik zal nog een keer proberen uit te leggen op een andere manier:

1. We hebben de site van KvK -> http://www.kvk.nl/handels...%3Dnl%26searchmode%3Dsnel

Op deze site is een formulier aanwezig waar iemand gegevens kan invullen van een regio en daar alle typen bedrijven kan vinden. Wanneer men deze invult en een overzicht krijgt van de opgevraagde gegevens kan men deze bestellen, waar dus geld voor gevraagd moet worden. Wat ik nu wil is dat mijn programma dat eerste scherm invult met gegevens die ik al een keer in mijn programma heb ingevuld. Je moet mijn programma net zo zien als met php waarbij je value van een input veld al kunt laten vullen, alleen in dit geval niet door PHP maar door vb.Net

Ik hoop dat het zo iets duidelijker is!...

Verwijderd

Volgens mij kan dat niet, want als je op 'resultaat' klikt zie je de URL niet veranderen. Alles wordt dus gedaan met POST ipv met GET.

Als alles met GET werd gedaan kon je gewoon de URL invullen.

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Normaliter zou je heel makkelijk de POST waarden kunnen doorgeven vanuit VB (is eigenlijk net zo makkelijk als GET btw). Alleen in dit specifieke voorbeeld hebben ze allerlei javascripts gebruikt waardoor het heel moeilijk is om uit te pluizen wat er nou eigenlijk allemaa gebeurt. Ik zou zelf bijna denken dat ze dat expres hebben gedaan...

Je zou een lokale kopie kunnen maken van de desbetreffende pagina. Gebruik
deze link en niet die je hierboven opgeeft trouwens (anders zit je met een frameset).

Een andere (slimme) optie kan ik verders niet verzinnen.

seweso's blog


Verwijderd

Topicstarter
Dat heb ik ook geprobeerd, maar het nadeel is dat hij zich gaat verieferen en mislukt dat dan komen de knoppen niet in beeld.

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Verwijderd schreef op 05 mei 2004 @ 09:48:
Dat heb ik ook geprobeerd, maar het nadeel is dat hij zich gaat verieferen en mislukt dat dan komen de knoppen niet in beeld.
Bedoel je dat de plaatjes niet in beeld komen? Die moet je misschien lokaal kopieren...

seweso's blog

Pagina: 1