Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 16:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



IE Login Problem Java

Discussion on IE Login Problem Java within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
emil's Avatar
 
elite*gold: 520
Join Date: Aug 2006
Posts: 65
Received Thanks: 5
Arrow IE Login Problem Java

Hallo,
ich komme nicht mehr weiter und bin bald am verzweifeln. Ich hab nen kleinen Log In Bot gemacht für ein Browsergame .
Mittlerweile trägt er im Script die anmelde Daten richtig ein, nur ich bekomme es nicht hin, das er das ganze auch absendet.
Ich hab es mit _IEFormSubmit($oForm) versucht, nur da resetet er den Log in.
Und mit $oButton=_IEGetObjById($oIE,"") funkioniert auch nicht auch wenn ich am Anfang den Einlog Batten eine ID zuweise da er keine hat.

Code:
<div id="popup"><form id="login" class="popup" action=""><h3> … </h3><fieldset class="box"><label for="email"> … </label><input id="email" type="text" name="email"></input><label for="password"> … </label><input id="password" type="password" name="password"></input><a class="note" rel="requestPassword" href=""> … </a><a class="note" target="_blank" href="http://agbserver.gameforge.com/deDE-AGB-Battle-of-Crowns.html"> … </a><input type="submit" value="Einloggen"></input></fieldset><div class="subnote"> … </div><span
My Script

Code:
#include <IE.au3>

$oIE = _IECreate("http://battleofcrowns.com/de/index.html?popup=login")
$oForm = _IEFormGetObjByName ($oIE, "login")
$oQuery1 = _IEFormElementGetObjByName ($oForm, "email")
$oQuery2 = _IEFormElementGetObjByName ($oForm, "password")
$uname=""
$pwd="12345678"
_IEFormElementSetValue ($oQuery1,$uname)
_IEFormElementSetValue ($oQuery2,$pwd)
$oButton=_IEGetObjById($oIE,"")
_IEAction ($oButton, "click")
_IELoadWait($oIE,0)
Wäre Super wenn jemand bitte Helfen könnt.
emil is offline  
Old 08/09/2013, 22:31   #2
 
c0w's Avatar
 
elite*gold: 3653
The Black Market: 378/0/0
Join Date: Aug 2008
Posts: 30,854
Received Thanks: 529
ich kenn das problem zu gut, im autoit.de forum hab ich mal paar lösungswege gesehen, ABER ich rate dir, was auch mir von großartigen autoitcodern geraten wurde, geh weg von der ie.au3 und lern dir direkt winhttp. schneller und einfacher.
c0w is offline  
Old 08/10/2013, 12:23   #3
 
emil's Avatar
 
elite*gold: 520
Join Date: Aug 2006
Posts: 65
Received Thanks: 5
Danke Dir : Mit Winttp hab ich auch schon versucht, aber da komm ich auch net recht weiter, naja ist nicht für mich, is für mein klein Bruder der das spielt. Wir fahren jetzt 14 Tage in Urlaub und die löschen alle Inaktiven acc. außerdem gibt es für jeden Tag einloggen ne Münze extra. Ich dachte ich schreibe ihm da nen kleines Script was sich am Tag mal einlogt.

So mustte die daten umschreiben soweit klaps erstmal :-)

$POST = {"""&"email"""&":"""&$email&""","""&"password"""&" :"""&$password&"""}"

Mann jetzt hänge ich schon wieder
Er logt sich zwar ein mit WinHTTP aber irgendwie will er nicht auf die nächte Seite nach dem Einloggen.

Live HTTP:

Bot mehr schlecht als recht

HTML Code:
#include <WinHTTP.au3>
#Include <String.au3>
#include <INet.au3> 
#include <Array.au3>

$email=""
$password="12345678"


Global $HTTP_Host = "battleofcrowns.com"
Global $HTTP_Agent = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0")
Global $HTTP_Connect = _WinHttpConnect($HTTP_Agent, $HTTP_Host)
; So vermeiden wir, das für jeden Klick erneut einfügen zu müssen! Allerdings KANN nach z.B. einer Weltauswahl der Host wechseln! (Vorsicht!)


While 1 ; Die "normale" Hauptschleife
; Wir führen nacheinander die Funktionen aus
    _Funktion_0()
    ClipPut(_Funktion_1($email,$password)) ; Das Ergebnis ist ja der HTML-Code, den packen wir uns zum Testen immer in den Zwischenspeicher, fügen ihn in eine Text-Datei ein und schauen ihn uns an (finde ich besser als FileWrite!)
    Exit
WEnd


_WinHttpCloseHandle($HTTP_Connect)
_WinHttpCloseHandle($HTTP_Agent) 


Func _Funktion_1($email,$password) ;  Das wäre also die LogIn-Funktion! Aber Vorsicht! Welchen Referer haben wir jetzt?! Genau... Noch weiss niemand, dass wir da sind! Wir müssen erst auf die Hauptseite und dann auf die LogIn-Seite!
    $POST = "{"""&"email"""&":"""&$email& ""","""&"password"""&":"""&$password&"""}"
MsgBox(0, "POST-Daten", $POST)
	$HTTP_Request = _WinHttpOpenRequest($HTTP_Connect, "POST", "/public/api/login", "HTTP/1.1", $HTTP_Host)
    _WinHttpSendRequest($HTTP_Request, "Content-Type: application/json; charset=UTF-8" & @CRLF, $POST)
    _WinHttpReceiveResponse($HTTP_Request)
	
	$sHeader = _WinHttpQueryHeaders($HTTP_Request) ; ...get full header
MsgBox (0, "Header", $sHeader)
If _WinHttpQueryDataAvailable($HTTP_Request) Then
    Local $data = ""
	Local $HTML = ""
	Do
	   $data&=_WinHttpReadData($HTTP_Request)
	   
    Until @error<>0
    MsgBox (0, "Body", $data)
		
 EndIf
 
 EndFunc 

  
Func _Funktion_0() ; Wir gehen auf die LogIn-Seite
    $HTTP_Request = _WinHttpOpenRequest($HTTP_Connect, "GET", "/de/?popup=login", "HTTP/1.1", $HTTP_Host) ; Der Host sagt ja, wo wir hin wollen, "/" bedeutet einfach "Hauptseite"
    _WinHttpSendRequest($HTTP_Request)
    _WinHttpReceiveResponse($HTTP_Request)
    $HTML = ""
    Do
        $HTML&=_WinHttpReadData($HTTP_Request)
   Until @error
	     _WinHttpCloseHandle($HTTP_Request)
    Return $HTML

 EndFunc   

Func _Funktion_2() ; Wir gehen auf Server-Seite
    $HTTP_Request = _WinHttpSimpleRequest ($HTTP_Connect, "GET", "/de/index.html?page=serverList/")
FileWrite("ServerSeite.html", $HTML)
EndFunc


Func _Perlen()
   $aArray = StringRegExp($sString,'<span id="currentPearls" \d+ ',3) ; Lese dis aus
   _arraydisplay($aArray)
  
  msgbox(0,"Anzahl Einträge:", Ubound($aArray))
  
For $i = 0 to Ubound($aArray) -1 ;durchlaufe die Array, ubound  gibt die Anzahl der Einträge in einer Array wieder
msgbox(0,"Id Nr:l",$aArray[$i]) ; $i ist hier der Array Index
Next
;und hier geht es weiter
   
   
EndFunc
mit WinHTTP hab ich leider nicht so viel am Hut gehabt bis jetzt
vieleicht findet sich ja jemand Nettes der mir weiter Helfen kann, der Bot soll erstmal nichts weiter können aus Einloggen bis zur Spielseite und vielleicht noch was auslesen. Ich hab leider nur noch eine Woche Zeit, da wir dann in Urlaub fahren. Und mein kleiner Bruder wenn er eine Woche nicht einloggt sein ACC. verliert.

mfg
emil is offline  
Old 08/11/2013, 13:51   #4
 
c0w's Avatar
 
elite*gold: 3653
The Black Market: 378/0/0
Join Date: Aug 2008
Posts: 30,854
Received Thanks: 529
Bah das lässt sich über tapatalk alles Ultra blöd lesen, mach aber die rquests mit winhttpsimplerequest vielleicht komm ich nachher mal an nen PC dann bastel ich was
c0w is offline  
Old 08/12/2013, 14:56   #5
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Ich würde nicht WinHttp verwenden, weil die Geschwindigkeit davon in den meisten Fällen einfach nur zu wünschen übrig lässt. Wenn es einfache Sachen wie hier sind dann arbeitet lieber mit TCPSend/Recv-Packets.
alpines is offline  
Old 08/12/2013, 23:59   #6
 
emil's Avatar
 
elite*gold: 520
Join Date: Aug 2006
Posts: 65
Received Thanks: 5
So mitlerweile hab ich auch den Token rausgefildert bekommen, kennt sich jemand aus wie ich den jetzt bei jeden $GET & $Post mitsenden kann ?

So das die: Authorization: Bearer e09e98b8-e132-40ac-a780-21925deff20c
Akzeptiert wird ?

ich hab da irgendwo was gelesen von:
_WinHttpSetCredentials($WinHTTP_Request, $WINHTTP_AUTH_TARGET_SERVER, $WINHTTP_AUTH_SCHEME_BASIC, "admin", "admin")
weis nicht ob das geht und wie, vielleicht hat ja jemand Rat


so schauts bis jetzt aus:

HTML Code:
#include <WinHTTP.au3>

Global $HTML = ""
Global $WinHTTP_Host = "battleofcrowns.com"
Global $WinHTTP_Client = _WinHttpOpen("Opera/9.80 (Windows NT 6.1; WOW64; Edition DriverPack) Presto/2.12.388 Version/12.14") ;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0
Global $WinHTTP_Connect = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host)
_Login()

Func _Login()
    $HTML = Win_GET_To("battleofcrowns.com", "/de/") ;STARTSEITE
    $HTML = Win_GET_To("battleofcrowns.com", "/de/?popup=login") ;POPUP
    $HTML = Win_POST_To("battleofcrowns.com", "/public/api/login",'{"email":"","password":"12345678"}' & "&useCookies=1&url=" ) ; LogIn Daten senden & gibt Token aus 
    $tokenabfrage =  StringRegExp($HTML , '"token":"(.+?)"', 3) ; Token wird ausgelesen
    MsgBox(0, "Token-Ausgabe", $tokenabfrage[0]) ; nur zum Testen
	
	
	
    	
	$sHTML = Win_GET_To("battleofcrowns.com", "/public/api/player/8020/premium?_=0000000000000001" & "&useCookies=1&url=") ; Fehler: zahl erhöht sich immer um eins und fehlt bestimmt Token zum weiterverbinden
	MsgBox(0, "POST-Login", $sHTML) ; nur zum Testen
        FileWrite("Login.html", $shtml) ; nur zum Testen
    
EndFunc

Func Win_GET_To($sHost, $sSite)
    If Not ($sHost = $WinHTTP_Host) Then
        $WinHTTP_Host = $sHost
        $WinHTTP_Connect = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host)
	 EndIf
    $WinHTTP_Request = _WinHttpOpenRequest($WinHTTP_Connect, "GET", $sSite, "HTTP/1.1", $sHost)
    _WinHttpSetCredentials($WinHTTP_Request, $WINHTTP_AUTH_TARGET_SERVER, $WINHTTP_AUTH_SCHEME_BASIC, "admin", "admin") ; ? weis nicht ob das geht
    _WinHttpSendRequest($WinHTTP_Request)
    _WinHttpReceiveResponse($WinHTTP_Request)
   Local $sHT[LEFT]ML = ""
    Do
        $sHTML &= _WinHttpReadData($WinHTTP_Request)
    Until @error
    Return $sHTML
EndFunc   ;==>Win_GET_To1

Func Win_POST_To($sHost, $sSite, $sPost)
    If Not ($sHost = $WinHTTP_Host) Then
        $WinHTTP_Host = $sHost ; Neuen Host bestimmen
        $WinHTTP_Connect = _WinHttpConnect($WinHTTP_Client, $WinHTTP_Host)
    EndIf
    $WinHTTP_Request = _WinHttpOpenRequest($WinHTTP_Connect, "POST", $sSite, "HTTP/1.1", $sHost)
    _WinHttpSetCredentials($WinHTTP_Request, $WINHTTP_AUTH_TARGET_SERVER, $WINHTTP_AUTH_SCHEME_BASIC, "admin", "admin") ; ? weis nicht ob das geht
	_WinHttpSendRequest($WinHTTP_Request, "Content-Type: application/json; charset=UTF-8" & @CRLF, $sPost)
    _WinHttpReceiveResponse($WinHTTP_Request)
	Local $sHTML = "[/LEFT]"
	Do
	   $sHTML &= _WinHttpReadData($WinHTTP_Request)
		
    Until @error
    Return $sHTML
EndFunc   ;==>Win_POST_To
emil is offline  
Old 09/12/2013, 14:55   #7
 
emil's Avatar
 
elite*gold: 520
Join Date: Aug 2006
Posts: 65
Received Thanks: 5
Talking

Kann geschlossen werden habe es mit IE hinbekommen

Vielleicht nicht das Beste Script aber es klapt und ich muss mir nichtmal die Mühe machen die Werte auszulesen gegen über Winhttp

Hier mein Script, noch nicht fertig aber man kann damit weiter arbeiten:

Code:
#include <IE.au3>
#include <Array.au3>
#include <Inet.au3>
#include <String.au3>


Global $email = ""
Global $Passwort = "12345678"
Global $Serv = ""

_Login_IE()

Func _Login_IE()
$oIE = _IECreate("http://battleofcrowns.com/de/index.html?popup=login")
WinMove("[CLASS:IEFrame]", "", 0, 0, 1200, 900)
Do
    Sleep(100)
    $oFrame = _IEGetObjById($oIE, "login")
    $width = _IEPropertyGet($oFrame, "width")
Until $width > 0 

$input1 = _IEGetObjById($oIE, "email")
_IEFormElementSetValue($input1, $email)
$input2 = _IEGetObjById($oIE, "password")
_IEFormElementSetValue($input2, $Passwort)
_IELoadWait($oIE, 1500)

For $oInput In $input2.form.getElementsByTagName("input")
    If $oInput.type = "submit" Then _IEAction($oInput, "click")
	Next
    Do
        Sleep(100)
    Until $oIE.document.body.innerHTML & '<a id="belize3.de.battleofcrowns.com" class="playButton" href=''></a>'
$oIE.document.getElementById("belize3.de.battleofcrowns.com").click
        Sleep(10000)
Local $oIE = _IEAttach('Battle of Crowns (BETA)', "embedded")
    MsgBox(0, "Spielseite:", _IEPropertyGet($oIE, "locationurl"))
$HTML = _IEDocReadHTML($oIE)
        Sleep(100)
FileDelete(@ScriptDir & '\Quelltext-IE.html')
FileWrite(@ScriptDir & '\Quelltext-IE.html', $HTML)
EndFunc
emil is offline  
Reply


Similar Threads Similar Threads
recompile Problem (Block.java, item.java)
04/13/2013 - Minecraft - 1 Replies
Guten Morgen liebe Com (: Ich versuche etwas neues in Minecraft.. für mich einzubauen.. neuer Block + das Item dazu, des eingepflanzt werden muss.. wie bei einer Karotte oder einer Kartoffel. Ich zeige euch den Inhalt meiner BlockOnion.java package net.minecraft.src;
Problem mit java
04/09/2013 - General Coding - 1 Replies
Hi Leute, hab mal bisschen mit Java rumprobiert und eine leichte Console geschrieben die nach Command Programme startet. Nun hab ich das Problem, dass wenn ich z.b. durch den Command Minecraft starte, bekomme ich auf Multiplayer Servern laggs geschweige denn Time-Outs. Woran kann das liegen? Außerdem hab ich die Datei in eine JAR Datei expotiert und dann mit exe4j zu einer exe Console compiliert. Liegt es vielleicht daran? Diese Problem ist außerdem nur bei anderen Java Applikationen wie...
Java HTML Login
03/19/2013 - General Coding - 3 Replies
Moin Ich hab da so ein Problem. Unzwar will ich zur Übung einen Minecraftlauncher programieren. Jetzt hänge ich bei dem Problem den User einzuloggen. Ich hab es bischer mit Java HTTP Apache probiert aber komm nicht weiter. Auf Minecraft connecten ist nicht das Problem, nur weiß ich nicht weiter wie ich die gegebenen Daten zum Einloggen "bewegen" soll. Hat da jemand eine Idee? Lg MyLifeBeLike Problem Gelöst. #closerequest
Problem mit Java :o
10/21/2011 - General Coding - 5 Replies
Hallo Community,ich lerne grade Java eclipse und wollte einen "mini Taschenrechner" machen... DOch es tritt andauernd folgender Fehler auf : Exception in thread "main" java.lang.Error: Unresolved compilation problem: at Cl.main(Cl.java:5) Hier ist der Text den ich geschrieben Habe : import java.util.Scanner; public class Cl {
Java Problem
01/23/2011 - Technical Support - 8 Replies
Hey Leute Ich habe heute meinen Laptop( W7 64 bit) auf werkzustand zurückgesetzt. Dann kamen die Standart Programme: ICQ,Firefox,Skype und Java. Bei Java gab es ein Problem. Ich habe mir 3 verschiedene Versionen von der Homepage heruntergeladen (darunter auch die 64 bit version) Und jedesmal kam die Fehlermeldung,dass das Instalations paket nicht existiert bzw. darauf nicht zugreifen kann obwohl ich admin bin. Please Help



All times are GMT +1. The time now is 16:51.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.