online 1
gast (50)

/ Forum / Anwendungen(Java,C++...)

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon amazZzing vom 17.03.2021, 11:45 Options

Lösung

Internet Login via Batch-Datei

Hallo zusammen
Ich bin ein bisschen mit Batch-Dateien am experimentieren (habe noch nicht viel Ahnung) und wäre froh wenn mir jemand eine Batch-Datei zusammenstellen kann, die folgende Dinge kann:

-Nachricht erscheint und warten auf Bestätigung mit OK
-Nach OK-Druck öffnet sich ein Link
-Die Batch-Datei loggt sich auf dieser Seite mit Benutzername und Passwort ein
-Mehrere Instruktions-Nachrichten zur Fortsetzung folgen

Ich bin inzwischen so weit gekommen:
msg * (Nachricht)
(dass der Link wartet auf OK-Druck weiss ich nicht wie schreiben)
start /w iexplore "(Link)"
(Login erfolgt => Weiss ich auch nicht wie schreiben :-D)
msg * (Nachricht)
msg * (Nachricht)
...


Antwort schreiben

Antwort 1 von son_quatsch vom 17.03.2021, 11:55 Options

Mit Batch geht das nicht, allenfalls mit VBS. Selbst dann ist es nahezu unmöglich, auf irgendeiner Internetseite irgendwo irgendwelche Sachen einzugeben.

Eine Hilfe wäre, wenn du uns jene Seite zeigst - dann ist das evt. anders lösbar (z.B. ohne direkten Aufruf der Startseite).

Antwort 2 von Solo vom 17.03.2021, 14:07 Options

Hi, ich habe vor jahren mal eine änliche Einlogg-Datei in VBS geschgrieben, siehe nachfolgend:

' ===============================================
'  Automatisierter WEB-Zugang
' =================================================
'  mit gleichzeitigem Start von IE, Virenscanner-McAfee und optionalen
'  Start von WebWasher. - R.P. - 12.12.05
' =================================================
'  Die Pfade zu den Programme sind entsprechend Ihrer Programm-Instal-
'  lation in den Zeilen wsh.Run "..." anzupassen.
' --------------------------------------------------------------------

Option Explicit

Dim wsh, MeinIE, Wahl, Antwort1, Antwort
  Set wsh = WScript.CreateObject("WScript.Shell")


  Antwort = MsgBox("Soll - Virenscanner - gestartet werden?", vbYesNo + vbQuestion, " Abfrage")
  if Antwort = vbNo Then

  Ablauf()

    else

' Unterdrückt Fehlerausgabe bei fehlenden Programmen
  On Error Resume Next

'Pfad für "Virusscanner.exe" anpassen!
  wsh.Run "C:\Programme\McAfee.com\Vso\mcvsshld.exe /notify"
  Wscript.sleep 27000

   Ablauf()
End if


function Ablauf ()
'Ende der Fehlerunterdrückung
  On Error Goto 0


  Wahl = Inputbox _
            ("- Automatisches Internet Login -" & vbCrLf & vbCrLf _
           & "Bitte, geben Sie eine WEB-Adresse Ihrer Wahl ein!" & vbCrLf & vbCrLf _
           & "Beispiel: www.web.de" & vbTab & "( ohne http:// )" & vbCrLf & vbCrLf _
           , " WEB-Login" & Space(38) & "Autor: R. Pristel", "freemail.web.de")

   If Wahl <> "" Then

' Scripting zum Öffnen des IE

Dim READYSTATE_COMPLETE
' Bedingung zum Öffnen des IE
    READYSTATE_COMPLETE = 4

' IE öffnen
   Set MeinIE = WScript.CreateObject("InternetExplorer.Application")

' Warten bis IE bereit ist
   Do While MeinIE.Busy
 Loop

   MeinIE.Visible = 1			  ' IE-Browser im Vollbild (1) öffnen
   MeinIE.Navigate "http://" & Wahl	  ' WEB-Seite öffnen

  Do While MeinIE.ReadyState <> 4	  ' Warten bis Seite geladen ist
 Loop

  else
      Msgbox "Abbruch wegen fehlender WEB-Adresse oder durch Benutzer!", vbExclamation, " Programm wurde abgebrochen !"
      WScript.Quit()
  End If

     Antwort1 = MsgBox("Soll - WebWasher - gestartet werden?", vbYesNo + vbQuestion, " Abfrage")
  if Antwort1 = vbYes Then

' Unterdrückt Fehlerausgabe bei fehlenden Programmen
On Error Resume Next

'Pfad für "WebWasher.exe" anpassen!
      wsh.Run "C:\Programme\WebWasher\wwasher.exe"

'Ende der Fehlerunterdrückung
On Error Goto 0

  else

  WScript.Quit()

  End if
End function

' Script beenden


Weiss nicht, ob du damit was anfangen kannst.

Antwort 3 von Solo vom 17.03.2021, 14:14 Options

Nachtrag:
Das Script in Notepad einfügen und als WEBlogin.vbs abspeichern.

Antwort 4 von amazZzing vom 17.03.2021, 19:25 Options

Also erst mal vielen Dank für die Antworten. Doch ich suche eine Ausführungs-Datei die ich einem Freund schicken will. Die Datei soll den Internet Explorer öffnen und sich dann bei www.mydrive.ch/de einloggen. Nebenbei sollen Nachrichten anzeigen, wie er ein Word-Dokument herunterladen muss, das auf mydrive steht.

Antwort 5 von son_quatsch vom 18.03.2021, 08:28 OptionsLösung

Lösung
Start -> Programme -> Zubehör -> Editor -> folgenden Text einfügen...
MsgBox "Anweisungstext 1"

' MSIE erzeugen
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")

' warten, bis er sich ausgekäst hat mit starten
While IE.Busy
Wend

' wir müssen ihn explizit sichtbar schalten
IE.Visible = 1

' Seite aufrufen und warten, bis sie vollständig geladen ist
IE.Navigate "http://www.mydrive.ch/de"
While IE.ReadyState <> 4
Wend

Dim e
Dim i1

' alle name="user" -Elemente finden (keine IDs vorhanden) und Wert setzen
Set e = IE.Document.getElementsByName("username")
For i1 = 0 To e.length - 1
  e(i1).value = "du_der_benutzer"
Next

' dasselbe nochmal fürs Passwort
Set e = IE.Document.getElementsByName("password")
For i1 = 0 To e.length - 1
  e(i1).value = "dein_passwort"
Next

' die einzige <FORM> finden
Set e = IE.Document.getElementsByTagName("form")
e(0).submit

MsgBox "Anweisungstext 2"
MsgBox "Anweisungstext 3 ..."
...und als name.vbs abspeichern. Was du anpassen müsstest wären natürlich die Anweisungstexte, sowie du_der_benutzer und dein_passwort.

Zitat:
Doch ich suche eine Ausführungs-Datei
Diese Datei ist ausführbar. Einfach doppelklicken zum selbstausprobieren.

Antwort 6 von Solo vom 18.03.2021, 11:25 Options

Hier noch ein weiteres Beispiel, was bei mir funktioniert:

' ====================================================
' File:   Autologin.vbs (WSH-Beispiel in VBScript)
' Autor:  R. P. - http://home.arcor.de/ra.pri
'
' Zweck:  Stellt eine Verbindung zum Internet her und
'         führt eine automatische Anmeldung
'         auf der WEB-Seite WEB.DE durch, zeigt eine
'         Downloadanweisung und beginnt nach Bestädigung
'         den Download.
'
' ====================================================

Option Explicit

'*****************************************************
' Achtung: Nachfolgend müssen der eigene Benutzername
'          sowie das Kennwort eingetragen werden.
'          Es besteht dadurch die Gefahr, dass diese
'          ausgespäht werden können.
'*****************************************************
Const UserName = "XXXXX"    ' Benutzername
Const Pword = "YYYYY"       ' Passwort/Kennwort im Klartext
'*****************************************************

Const sTitle = "Login"

Dim oDoc, oIE, i

If MsgBox ("Benutzer '" & UserName & "' an WEB.DE-Postfach anmelden?", _
            vbYesNo + vbQuestion, sTitle) = vbNo Then _
  WScript.Quit                    ' Benutzerabbruch

Set oIE = WScript.CreateObject("InternetExplorer.Application") ' IE starten
oIE.Visible = True
oIE.Navigate "www.web.de"         ' WEB.DE Startseite aufrufen

Do
Loop Until oIE.ReadyState = 4     ' warten, bis Seite geladen

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

' Fenster mit Hilfetext
   MsgBox "Hier steht der Hilfetext" + vbCr + _
   	 "Bitte geben Sie hier den Hilfetext ein", _
          vbOkOnly + vbInformation, "Anweisung"

' Downloadabfrage
If MsgBox ("Soll mit dem Download begonnen werden?", _
            vbYesNo + vbQuestion, "Dowloadbestädigung") = vbYes Then
 oIE.Navigate _
   "http://home.arcor.de/ra.pri/download/weblogin.exe"  'Hier richtige URL für Download-Datei eintragen !!!

End If
' Ende

.. als login.vbs abspeichern und die kommentierten Stellen entsprechend anpassen. Mir einen Klick auf die Datei, wird dieses gestartet.

Antwort 7 von amazZzing vom 18.03.2021, 13:19 Options

Danke vielmals für die Antworten! Mein Problem ist gelöst (endlich :-D).
Werde dies entsprechend meinem Freund weiter senden...

Antwort 8 von deny vom 30.03.2021, 15:46 Options

Hallo zusammen,

hab hier ein Webinterface (Netzwerkfähige Stromleiste) mit Anmeldung.

Er soll nach dem Start von name.vbs den IE öffnen und den Login automatisch durchführen.
(Benutzername brauch ich nicht, es gibt NUR ein Kennwort-Feld)

Habe folgenden Code bei name.vbs:

---------------------------------------------------------------------------------------------

MsgBox "Anweisungstext 1"

' MSIE erzeugen
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")

' warten, bis er sich ausgekäst hat mit starten
While IE.Busy
Wend

' wir müssen ihn explizit sichtbar schalten
IE.Visible = 1

' Startseite vom Webinterface aufrufen und warten bis geladen ist
IE.Navigate "http://o1582"
While IE.ReadyState <> 4
Wend

Dim e
Dim i1

' alle name="P" -Elemente finden und Wert setzen
Set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next

' die einzige <FORM> finden
Set e = IE.Document.getElementsByTagName("log method")
e(0).submit

MsgBox "Anweisungstext 2"
MsgBox "Anweisungstext 3 ..."

---------------------------------------------------------------------------------------------

Hier der html Code des Webinterface zur Anmeldung:

<html><head><link href="_np.css" rel="stylesheet" type="text/css"></head><body background="_bg.gif" onload="rel();"><table border=0 width="148"><tr><td class=pgHdr>Login</td><td align="right" style=font-size:7pt;><a href="mobile.cgi" target="_blank">Mobile Control</a></tr></table><table border=0 width=148 class=menu2><tr><td>Nutzer : <b>Gast</b><br></td><tr><td><font color=teal><b>Passwort:</b></font></td></tr><tr><td align=center><form name=log method=GET action="_LOGIN.CGI" onsubmit="v.value=hex_sha1(P.value+r.value);P.value=''" style="line-height:0; margin-top:0; margin-bottom:0;"><input type="hidden" name="r" value="EA"><input type="hidden" name="n" value="Gast"><input type=password size=8 maxlength=8 name="P"><input type="hidden" name="v"> <input type=submit value=Login name="w" disabled></form></tr><tr><td height="22" align="center"><span style=font-size:7pt;> Ausloggen: Login ohne Passwort.</span></td></tr></table></body><script type="text/javascript" src="_sha1.js"></script><script type="text/javascript">document.log.w.disabled=false;</script></html>

Er öffnet den IE mit der Startseite des Webinterface, aber:

Zeile: 36
Zeichen: 1
Fehler: Objekt erforderlich: "[object]"
Code: 800A01A8
Quelle: Laufzeitfehler in Microsoft VBScript

Warum loggt er sich nicht automatisch ein?

Bitte um Hilfe, bin Neuling oO

mfg

deny

Antwort 9 von son_quatsch vom 30.03.2021, 15:58 Options

Warum das nicht automatisch klappt? Na weil ein Fehler aufgetreten ist.

Set e = IE.Document.getElementsByTagName("log method")

muss
Set e = IE.Document.getElementsByTagName("log")

sein.

Wo genau ist denn bei dir Zeile 36?

Antwort 10 von rockbox vom 30.03.2021, 19:45 Options

hallo!

ich habe eine frage-hoffentlich kann mir jmd helfen!!!!!!!

also ich versuche es an einem beispiel zu formulieren:

ich spiele das browsergame "*Z*game.de" -nicht ernsthaft aber es ist ja nur ein beispiel...

also ich möchte eine bat oder vbs datei erstellen, die man ausführen muss...... . damit soll sich am besten mozilla firefox öffnen, das browsergame "*Z*game" auch und man wird automatisch eingeloggt. anschließend sollen mehrere buttons im spiel "gedrückt" werden, sodass ich in dem spiel weiterkomme. (man kann dann ja im editor ändern, welcher button aktiviert werden soll....)

funktioniert so etwas überhaupt?

kann so ein Vorgang auch "im Hintergrund" ablaufen?

da ich ein Anfänger bin wäre es nett, wenn mir jmd helfen könnte und es in einem beispiel, soweit realisierbar, zeigen....(die sachen die ich dann ändern muss bitte unterstreichen, damit keine Missverständnisse entstehen......

mfg und danke schon mal im Voraus! ;-)

Antwort 11 von deny vom 31.03.2021, 07:19 Options

Zeile 36 sieht folgendermaßen aus:

e(0).submit

Fehler: Objekt erforderlich: '[object]'
Code: 800A01A8
Quelle: Laufzeitfehler in Microsoft VBScript

obwohl ich den Code abgeändert hab und der jetzt so ausschaut:

MsgBox "Anweisungstext 1"

' MSIE erzeugen
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")

' warten, bis er sich ausgekäst hat mit starten
While IE.Busy
Wend

' wir müssen ihn explizit sichtbar schalten
IE.Visible = 1

' Seite aufrufen und warten, bis sie vollständig geladen ist
IE.Navigate "http://o1582"
While IE.ReadyState <> 4
Wend

Dim e
Dim i1

' alle name="user" -Elemente finden (keine IDs vorhanden) und Wert setzen
' Set e = IE.Document.getElementsByName("username")
' For i1 = 0 To e.length - 1
' e(i1).value = "du_der_benutzer"
' Next

' dasselbe nochmal fürs Passwort
Set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next

' die einzige <FORM> finden
Set e = IE.Document.getElementsByTagName("log")
e(0).submit

MsgBox "Anweisungstext 2"
MsgBox "Anweisungstext 3 ..."

---------------------------------------------------------------------------------------------

Stimmt das "P" an der Stelle, wo er sich das Element holt?
(siehe html-Code oben)

mfg deny

Antwort 12 von son_quatsch vom 31.03.2021, 08:22 Options

@deny
Set e = IE.Document.getElementsByTagName("form")

muss es natürlich heißen. Wer ist denn überhaupt auf die Idee gekommen, das je von meinem ursprünglichen Post zu ändern?!?

@rockbox
Nein - das ist ausschließlich mit dem MSIE machbar. Und Beispiele hast du hier genug - eine Komplettlösung für mehrere sich wiederholende Aufgaben gebe ich nicht.

Antwort 13 von deny vom 31.03.2021, 09:44 Options

Hab den Code nochmal vereinfacht:

---------------------------------------------------------------------------------------------
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")

while IE.Busy
Wend

IE.Visible = 1

IE.Navigate "o1582"
while IE.ReadyState <> 4
Wend

Dim e
Dim i1

set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next

Set e = IE.Document.getElementsByTagName("form")
e(0).submit
---------------------------------------------------------------------------------------------

Er meckert jetzt bei Zeile 22 (e(0).submit)
Objekt erforderlich '[object]'

Hinter dem Login button steckt ein _LOGIN.CGI, siehe htmlCode:

<html><head><link href="_np.css" rel="stylesheet" type="text/css"></head><body background="_bg.gif" onload="rel();"><table border=0 width="148"><tr><td class=pgHdr>Login</td><td align="right" style=font-size:7pt;><a href="mobile.cgi" target="_blank">Mobile Control</a></tr></table><table border=0 width=148 class=menu2><tr><td>Nutzer : <b>Gast</b><br></td><tr><td><font color=teal><b>Passwort:</b></font></td></tr><tr><td align=center><form name=log method=GET action="_LOGIN.CGI" onsubmit="v.value=hex_sha1(P.value+r.value);P.value=''" style="line-height:0; margin-top:0; margin-bottom:0;"><input type="hidden" name="r" value="DM"><input type="hidden" name="n" value="Gast"><input type=password size=8 maxlength=8 name="P"><input type="hidden" name="v"> <input type=submit value=Login name="w" disabled></form></tr><tr><td height="22" align="center"><span style=font-size:7pt;> Ausloggen: Login ohne Passwort.</span></td></tr></table></body><script type="text/javascript" src="_sha1.js"></script><script type="text/javascript">document.log.w.disabled=false;</script></html>

mfg deny

Antwort 14 von son_quatsch vom 31.03.2021, 10:41 Options

Kann ich nicht nachvollziehen (bei mir klappt es). Benutze MSIE6 unter WinXP. Lass die entsprechende Zeile weg und sag, ob er wenigstens das Passwort füllt - und ob es klappen würde, wenn du selbst auf den Button klickst.

Antwort 15 von deny vom 31.03.2021, 10:56 Options

Die Zeile

e(0).submit

ist draußen, jetzt meckert er nicht mehr, jedoch trägt
er mir das Kennwort nicht automatisch ein und startet auch
keinen Versuch zu senden (Login-Button)

Nach manueller Eingabe vom PW und nach Klicken auf Login
meldet er sich korrekt an!

IE6 XP

mfg

deny

Antwort 16 von son_quatsch vom 31.03.2021, 11:01 Options

Dann stimmt schon vorher etwas nicht - bei mir trägt er ja das Passwort ein. Das hier sieht mir auch sehr verdächtig aus:
IE.Navigate "o1582"

Ruf die Seite "normal" auf und kopier aus der Adressleiste exakt das, was dann drin steht und trag das stattdessen hier ein. Das muss mindestens mit Protokoll sein, also mindestens http://o1582. Aber auch hier frag ich mich: bleibt das wirklich so stehen?

Antwort 17 von deny vom 31.03.2021, 11:08 Options

o1582 ist die Namensauflösung der Netzwerkfähigen Steckdosenleiste.

Habs mal geändert:

---------------------------------------------------------------------------------------------
Dim IE
Set IE = WScript.CreateObject("InternetExplorer.Application")

while IE.Busy
Wend

IE.Visible = 1

IE.Navigate "http://10.2.15.82/"
while IE.ReadyState <> 4
Wend

Dim e
Dim i1

set e = IE.Document.getElementsByName("P")
For i1 = 0 To e.length - 1
e(i1).value = "xxx"
Next

Set e = IE.Document.getElementsByTagName("form")
---------------------------------------------------------------------------------------------

Er ruft die Seite korrekt auf trägt jedoch kein Kennwort ein und Login't nicht automatisch.

Vielen Dank für Deine schnellen Antworten...

mfg

deny

Antwort 18 von son_quatsch vom 31.03.2021, 11:37 Options

Tausche zu Testzwecken (also am besten eine Kopie der Datei erstellen) diese Zeile
set e = IE.Document.getElementsByName("P")
gegen folgende:
set e = IE.Document.getElementsByName("P")
MsgBox e.length
set e = IE.Document.getElementsByName("p")
MsgBox e.length
set e = IE.Document.getElementsByName("FORM")
MsgBox e.length
set e = IE.Document.getElementsByName("form")
MsgBox e.length
und sag mir die Ausgaben. Ferner kann es auch an Sicherheitseinstellungen liegen, die bei dir restriktiver sind als bei mir (z.B. Sicherheit -> Stufe anpassen -> Binär- und Skriptverhalten -> aktivieren) - aber spätestens hier gibt es zuviele Konstellationen, die wir unmöglich vergleichen können. Das wird zu aufwendig und du müsstest auf eigenen Fleiß hin dir all deine Einstellungen aufschreiben (um sie später wieder herstellen zu können) und dann jeweils immer alles erlauben oder so wenig restriktiv wie möglich stellen...

Antwort 19 von deny vom 31.03.2021, 12:15 Options

set e = IE.Document.getElementsByName("P")
MsgBox e.length

Ausgabe: 0
---------------------------------------------------------------------------------------------

set e = IE.Document.getElementsByName("p")
MsgBox e.length

Ausgabe: 0
---------------------------------------------------------------------------------------------

set e = IE.Document.getElementsByName("FORM")
MsgBox e.length

Ausgabe: 0
---------------------------------------------------------------------------------------------

set e = IE.Document.getElementsByName("form")
MsgBox e.length

Ausgabe: 0
---------------------------------------------------------------------------------------------

Liegt es daran, dass durch Klick auf Login ein CGI-Skript ausgeführt wird und er dadurch nicht weiterkommt?

mfg

deny

Antwort 20 von son_quatsch vom 31.03.2021, 12:31 Options

Neihein. Fakt ist: das Skript findet gar nichts innerhalb der aufgerufenen Seite. Da du die aufgebaute Seite allerdings sieht, wird sie definitiv geladen. Bleibt nur noch meine Vermutung nach zu starken Sicherheitseinstellungen.

Ähnliche Themen

Batch Datei schreiben!
Cool_Zero  29.10.2007 - 133 Hits - 1 Antwort

[Batch] Datei auslesen und Wörte in Datei schreiben
teklan  22.10.2007 - 165 Hits - 2 Antworten

Programmaufruf mit Batch-Datei
Martina  09.11.2007 - 369 Hits - 5 Antworten

Batch Datei (Backup)
janosch1711  29.08.2008 - 39 Hits - 8 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026