Login Script

  • VBScript

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Login Script

    Hallo,

    ich bin neu hier und habe heute begonnen mich mal kurz mit VBS zu beschäftigen... Ich möchte ei´g. auch nciht zu tief hinein weil ich das warsch. genau einmalig brauchen werden...

    Es geht um ein Login in Script... welches mir eine Seite öffnet und mich darauf einloggt... im Prinzip bin ich schon sher weit... ich hab mir verschiedene code-Schnippsel zusammengebsatelt...

    Einzigstes Problem alles Sprechen die LoginFelder per Namen an... meine haben aber keine!

    Könntet ihr mir helfen wie ich das lösen kann...

    Bisheriger VBSCode:

    Visual Basic-Quellcode

    1. ' Jetzt Anmeldedaten in Postfach-Felder eintragen und anmelden
    2. Set oDoc = oIE.Document ' Hole Objektreferenz auf HTML-Seite
    3. oDoc.FM.username.Value = UserName ' Setze Benutzername
    4. oDoc.FM.password.Value = Pword ' Setze Kennwort
    5. oDoc.FM.submit ' Formular abschicken




    HtmlCode:

    HTML-Quellcode

    1. <form action="./?page=loginout"method="POST">
    2. <inputtype="text"name="user"maxlength="30"value=""><br/>
    3. <inputtype="password"name="pass"maxlength="30"value=""><br/>
    4. <inputtype="hidden"name="sublogin"value="1">
    5. <inputtype="submit"value="Einloggen">
    6. <divid="form_links">
    7. <ahref="./?page=pvc-reset_password">Passwort vergessen?</a>
    8. <ahref="./?page=guide">Verbindungsguide</a>
    9. </div>
    10. </form>


    Danke

    * Topic verschoben *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Visual Basic-Quellcode

    1. Function ReadStartPage()
    2. URL = "http://www.site.de"
    3. PostUser = "UserName"
    4. PostPw = "Kennwort"
    5. User = "Username"
    6. Pw = "Pw"
    7. ' Das sind die Postparameter, diese müssen angepasst werden
    8. PostString = PostUser & "=" & User & "&" & PostPw & "=" & Pw
    9. Dim objHTTP
    10. Set objHTTP = CreateObject("Microsoft.XMLHTTP")
    11. objHTTP.open "POST", URL, False
    12. objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    13. objHTTP.send PostString
    14. ReadStartPage = objHTTP.responsetext
    15. Set objHTTP = Nothing
    16. End Function
    17. WSH.echo ReadStartPage


    Das wäre die prinzipielle herangehensweise in VB script.
    Ich empfehle dir folgendes.
    Lade dir das Addon für Firefox namens HttpFox herunter.
    Geh auf die Seite und Starte den Fox.
    Log dich ein und schau dir genau den Post an.
    Was für Daten werden im Poststring verwendet?
    Diesen PostString musst du quasi nachbauen.
    Also zB: "User=Bla&Pw=BlaBla"
    Das ist meine Signatur und sie wird wunderbar sein!
    Super danke...! Das geht schon zihmlich gut in die richtige richtung...! Jetzt habe ich aber versucht das ganze mim IE zu machen dann gibt er mir einen fehler aus...:/
    Also mal zu meinem vorgehen ich möchte mich einloggen ein js ausführen und mich dann wieder ausloggen! Das ganze wäre mir am liebsten wenn das im hintergrund läuft... kannst du mir mal so ein paar anstupser geben wie das genau funktionieren könnte?
    Was hast du versucht mit dem IE zu machen?
    Und was für ein js willst du ausführen? Was macht das js?

    Die Infos sind zu wenig...

    Hier mal ein Bsp, wie du zB mit HttpFox in FireFox herausfindest, was du zur Anmeldung für Postparameter benötigst.
    Diese solltest du dann auch für deinen Webrequest verwenden.
    Bilder
    • HttpFoxLogin.png

      90,95 kB, 1.204×840, 274 mal angesehen
    Das ist meine Signatur und sie wird wunderbar sein!
    So das mit den Post parametern war nicht das Problem... das ist erledigt...

    So ich möchte ein js dann gerne über "die adresszeile" ausführen also alla: javascript:alert('beispiel');

    Deswegen habe ich mir gedacht ersetzte ich das

    Visual Basic-Quellcode

    1. Set objHTTP = CreateObject("Microsoft.XMLHTTP")

    durch

    Visual Basic-Quellcode

    1. Set objHTTP = CreateObject("InternetExplorer.Application")

    und dann klappt des schon aber das Funktioniert nicht...
    Du willst JavaScript Code ausführen?
    Wozu?
    Du kannst nicht Microsoft.XMLHTTP mit dem InternetExplorer tauschen. Das sind komplett andere Klassen.
    Was willst du denn mit dem Javascript machen und wozu?
    Welches Ziel verfolgst du?
    Das ist meine Signatur und sie wird wunderbar sein!
    Ich habe einen WebServer auf dem eine HP laufen wird... diese steuert einen Mincraft Serve mit Permissions...
    Und dazu muss ich regelmäßig alte Permissions aus der DB löschen... ich habe mir gedacht da ich ja keinen zugriff auf den webserver habe das ich dieses script bei mir daheim alle stunde laufen lasse und mir dann die javascripts dafür anschuppst...
    Wie sieht denn das JavaScript dazu aus?
    Was macht es denn?

    Letztlich wird dieses doch auch nur ein weiteren Post mit Parametern auslösen, oder nicht?
    Das ist meine Signatur und sie wird wunderbar sein!
    Es ist so das das mehrere und ab und an abweichene Scripte sind die angeschupst werden... Und ich weiß nicht ob das wirklich per POST-System funktioniert wenn ich in die Adresszeile des so eingebe... Im moment habe ich einen Account angelegt der dafür gedacht ist... und ich log mcih manuell alle stunde ein und schupps die verschiedenen scipte an das will ich jetzt eben automatisieren...
    Ist es möglich, dass du den Code eines solchen Js postest?
    Denn grundsätzlich dürften die JavaScripts alles, was nicht rein clientseitig ist, über einen Webrequest an den Server senden.
    Das ist meine Signatur und sie wird wunderbar sein!
    Ich verstehe leider nicht ganz was das javascipt damit zu tun hat... ?! Also nicht böße verstehen aber ich finde wir weichen gerade etwas vom eig Problem ab...
    Weil was für JS das letztendlich sind ist ja egal sie müssen halt ausgeführt werden...

    Ich möchte es nochmal kurz zusammenfassen...:

    1. Auf Website einlogen...
    2. javascript:aler();..... in adresszeile eingeben
    3. Ausloggen...

    4. Wenn möglich alles im hintergrund...

    Ist sowas denn nun zu machen oder eher nicht?
    Das geht nicht mit dem verwendetem Objekt.
    Das ginge meines Wissens mit dem InternetExplorer.Application...

    Mit einem Webrequest könnte man höchstens die Funktionalität des js nachbilden.
    Das ist meine Signatur und sie wird wunderbar sein!
    So okay vielen Dank... ich glaube ich habe es jetzt fast geschafft... zwar mit umwegen....
    Mein aktueller Code...:

    Visual Basic-Quellcode

    1. URL = "http://localhost/test.html?user=PyroFlo2293&pass=Sword1"
    2. User = "PyroFlo2293"
    3. Pw = "Sword1"
    4. Set IE = CreateObject("InternetExplorer.Application")
    5. IE.Visible = True
    6. IE.Navigate URL
    7. Wscript.Sleep 8000
    8. IE.Document.Window.DomWindow.execscript "javascript:ajax_loadContent('vote_link_1','./engine/dynamic/vote_proccess.php?id=vote_link_1','<img%20src=./engine/_style_res/1/images/voteimg/1.gif%20alt=[Vote]>');ajax_loadContent('vote_link_2','./engine/dynamic/vote_proccess.php?id=vote_link_2','<img%20src=./engine/_style_res/1/images/voteimg/2.gif%20alt=[Vote]>');ajax_loadContent('vote_link_3','./engine/dynamic/vote_proccess.php?id=vote_link_3','<img%20src=./engine/_style_res/1/images/voteimg/3.gif%20alt=[Vote]>');ajax_loadContent('vote_link_4','./engine/dynamic/vote_proccess.php?id=vote_link_4','<img%20src=./engine/_style_res/1/images/voteimg/4.gif%20alt=[Vote]>');ajax_loadContent('vote_link_5','./engine/dynamic/vote_proccess.php?id=vote_link_5','<img%20src=./engine/_style_res/1/images/voteimg/5.gif%20alt=[Vote]>');ajax_loadContent('vote_link_6','./engine/dynamic/vote_proccess.php?id=vote_link_6','<img%20src=./engine/_style_res/1/images/voteimg/6.gif%20alt=[Vote]>');ajax_loadContent('vote_link_7','./engine/dynamic/vote_proccess.php?id=vote_link_7','<img%20src=./engine/_style_res/1/images/voteimg/7.gif%20alt=[Vote]>');ajax_loadContent('vote_link_8','./engine/dynamic/vote_proccess.php?id=vote_link_8','<img%20src=./engine/_style_res/1/images/voteimg/8.gif%20alt=[Vote]>');", "JavaScript"


    Meiner Seits bin ich damit zufrieden... :D Aber der Windows Script Host nicht... :D

    Er gibt mir die Fehlermeldung: Das aufgerufene Objekt wurde von den Clients getrennt.
    Zeile: 13

    Ich hoffe ich bin etz langsam fertig... :D

    Grüße Flo
    Ich habe mir heute nochmal kurz das Login via InternetExplorer und Post angeschaut, und habe es jetzt hinbekommen..

    Visual Basic-Quellcode

    1. dim URL,b,PostString
    2. URL = "http://www.seitseid.de/"
    3. ' Das sind die Postparameter, diese müssen angepasst werden
    4. PostString = "user=erer&pw=blabla"
    5. Dim ostream
    6. set ostream = CreateObject("ADODB.Stream")
    7. with ostream
    8. .type = 2
    9. .charset = "windows-1252" 'latin-1
    10. .open
    11. .writetext PostString
    12. .position = 0
    13. .type = 1 'binary
    14. b = .read 'as Byte()
    15. .close
    16. end With
    17. set ostream = Nothing
    18. Header = "Content-Type: application/x-www-form-urlencoded"
    19. Set IE = CreateObject("InternetExplorer.Application")
    20. IE.Visible = True
    21. IE.Navigate URL, null, Null, b, Header
    Das ist meine Signatur und sie wird wunderbar sein!
    Guten Morgen,

    also ersteinmal danke das hat mich unglaublich weiter gebracht!
    Und langsam beginne ich auch VB etwas zu kapieren.... (ein Wunder bei der Syntax)

    Aber damit komm ich noch gar nicht kla... was macht das wieso ist das hier?

    Visual Basic-Quellcode

    1. Dim ostream
    2. set ostream = CreateObject("ADODB.Stream")
    3. with ostream
    4. .type = 2
    5. .charset = "windows-1252" 'latin-1
    6. .open
    7. .writetext PostString
    8. .position = 0
    9. .type = 1 'binary
    10. b = .read 'as Byte()
    11. .close
    12. end With


    So naja wir früher oder später ja kla sein musste will ich jetzt doch eine "Anwendung" draus machen dazu hab ich noch eine Frage:

    Visual Basic-Quellcode

    1. b = .read 'as Byte()

    Wie muss ich b deklarieren...? Ich hab echt keine Ahnung da das ja die Stelle is wo ich nicht weiter komme... Ich habs mit "As Byte" probiert des mag er aber anscheinend nicht...

    So wie es zu defenieren ist weiß ich jetzt! Als Array :thumbdown: das hätte ich schon shcneller checken müssen^^

    Grüße Flo

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Flo_Biber“ ()