[VBA] Inloggen op site voor webquery in Excel

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

  • brid
  • Registratie: Januari 2001
  • Laatst online: 19-11 18:24

brid

Onze excuses voor het ongemak

Topicstarter
Hoop dat jullie me kunnen helpen.

Via een webquery in excel probeer ik een tabel van www.gpro.se op te halen.
Het probleem is alleen dat er moet worden ingelogd.

Ik ben nu eigenlijk op zoek naar een manier om via vba automatisch in te loggen.
Volgens mij is het gewoon een kwestie van de juiste parameters door geven aan de login.asp

Gelukkig is de source van het inlog scherm te zien

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
<form method="post" action="Login.asp?Redirect=/AvailDrivers.asp">
    <table width="520" border="0" class="normal">
        <tr> 
            <td colspan="2" align="center">
                <b>
                To access the site you have to login first
                </b><br><br>
            </td>
        </tr>
        <tr>
            <td width="40%" align="right">Login:</td>
            <td width="60%">
                <input type="text" name="textLogin" value="" class="normal">
               </td>
           </tr>
        <tr>
            <td align="right">Password:</td>
            <td><input type="password" name="textPassword" class="normal"></td>
            </tr>
            <tr>
            <td></td>
            <td><input type="submit" name="Logon" value="Login" class="normal"></td>
        </tr>
           <tr>
            <td></td>
            <td><br><a href="LostPassword.asp">Lost Password?</a></td>
            </tr>
            <tr> 
            <td colspan="2" align="center">
            </td>
            </tr>
    </table>
</form>


Nou ben ik zelf niet zo bekend met het doorzetten van parameters, maar volgens mij moet het zo iets als dit zijn:
code:
1
http://www.gpro.se/Login.asp?Redirect=/AvailDrivers.asp&textlogin=[b]UserName[/b]&textpassword=[b]Wachtwoord[/b]1&logon=login

Of maak ik ergens een grote denk fout?

DIY NAS, Hoofd PC
Unchain your pc/laptop, buy a SSD!!!!!


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je maakt een denkfout ;)
Er een post gedaan en geen get. Nu kan het zijn dat er met request("foo") wordt gewerkt i.p.v. request.querystring("foo") vs request.form("foo"). In dat geval kom je er misschien nog mee weg, maar klaarblijkelijk is dat dus niet het geval ;)
Je zou met een XMLHTTP request object misschien eens een post kunnen proberen? (Ja, die kun je ook in Excel maken en gebruiken)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • brid
  • Registratie: Januari 2001
  • Laatst online: 19-11 18:24

brid

Onze excuses voor het ongemak

Topicstarter
Hmmm is niet echt makkelijk.

Na wat zoeken gekomen tot de volgende code:
code:
1
2
3
4
5
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
call objHTTP.Open("POST","http:/www.gpro.se/Login.asp",false)
call objHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
call objHTTP.send("textlogin=USER&textpassword=WW&logon=login")
strResult=objHTTP.responseText


Script gaat niet eens lopen, krijg de volgende error:
Untitled8.vbs(2, 1) (null): Unspecified error
Zodra ik dus wat doe met het object dan krijg ik een error, heb ook het object Msxml2.XMLHTTP geprobeerd, maarzelfde resultaat

DIY NAS, Hoofd PC
Unchain your pc/laptop, buy a SSD!!!!!


Verwijderd

code:
1
CreateObject("MSXML2.XMLHTTP")
je kan ook een verwijzing naar de microsoft xml bibliotheek toevoegen, dat werkt wat comfortabeler.

  • brid
  • Registratie: Januari 2001
  • Laatst online: 19-11 18:24

brid

Onze excuses voor het ongemak

Topicstarter
Ben alweer een stapje verder.....was een / vergeten in het webadres |:(
Alleen stuur ik dus blijkbaar nog steeds niet de juiste gegevens mee....iemand een idee waar de fout zit?

DIY NAS, Hoofd PC
Unchain your pc/laptop, buy a SSD!!!!!


Verwijderd

de gegevens lijken mij correct (tenminste bij correcte vervanging van USER & WW door de reële, maar dat zal je wel goed doen veronderstel ik), maar na de inlogactie moet je testen op readystate 4 (en best ook een maximum timeout inbouwen) voordat je verder gaat met de responsetext op te vragen of een andere actie.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
code:
1
call objHTTP.send("textlogin=USER&textpassword=WW&logon=login")
code:
1
<input type="submit" name="Logon" value="Login" class="normal">
Hééél misschien controleren ze case-sensitive de "Logon" value (resp. login en Login in bovenstaande quotes)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • brid
  • Registratie: Januari 2001
  • Laatst online: 19-11 18:24

brid

Onze excuses voor het ongemak

Topicstarter
Nog een |:( ,inderdaad case sensetive |:(

Kan merken dat het echt 6 jaar geleden is dat ik iets met websites....

Als ik tijd heb eens kijken of dit voldoende is om de webquery wil gaan werken

[ Voor 26% gewijzigd door brid op 02-10-2007 14:33 ]

DIY NAS, Hoofd PC
Unchain your pc/laptop, buy a SSD!!!!!

Pagina: 1