1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. madd1n

Beiträge von madd1n

  • Bräuchte Hilfe bei der Umsetzung meiner IP Abfrage

    • madd1n
    • 17. Mai 2017 um 17:56

    Hi Leute, ich schreibe gerade nen VPN Handler, das VPN Programm an sich ist nicht auslesbar (d.h. ich könnte darüber nicht die aktuelle IP erfragen) also möchte ich das über eine externe Seite (whoer.net) machen.
    VPN Connect Function:

    Code
    Func _HMAconnect()
    	If ProcessExists ("HMA! Pro VPN.exe") Then														;~ Falls HMA läuft, beenden
    		_HMAdisconnect()
    	EndIf
    	Sleep (1000)
    	For $i = 1 to 5 Step 1
    		If ProcessExists ("HMA! Pro VPN.exe") = 0 Then
    			Run ($vpndir&"HMA! Pro VPN.exe")														;~ 5x HMA versuchen zu starten
    			Sleep (1000)
    			If $i = 5 Then
    				_Error("HMA konnte nicht gestartet werden. Überprüfe den Pfad in der config.ini")	;~ HMA konnte nicht aufgerufen werden, Pfad Problem
    					MsgBox (48,"VPN Problem","Writing error.log...",2)
    				Exit
    			EndIf
    		EndIf
    	Next
    	If ProcessExists ("HMA! Pro VPN.exe") = 0 Then													;~ Falls HMA nicht geöffnet wurde, neu starten
    		_HMAconnect()
    	EndIf
    	Sleep (2000)
    	$sTitle = WinGetTitle ("HMA! Pro VPN")
    	$i = 0
    	Do
    		$i += 1
    		Sleep (1000)
    		If $i = IniRead ("config.ini","Intern","VPN Wait","") Then
    			_Error("HMA Connect Problem. HMA start dauert zu lange")
    				MsgBox (48,"VPN Problem", "Writing error.log...",2)
    			_HMAconnect()
    		EndIf
    	Until WinGetState($sTitle) = 15																	;~ warten bis HMA im Focus ist
    	Sleep (1000)
    	Do
    		Sleep(250)
    		WinActivate($sTitle)
    	Until ControlCommand($sTitle, "", "[NAME:comboBoxVPNServer]", "IsEnabled")						;~ HMA in den Focus holen
    	_IPFlush()																						;~ IP DNS Flush erneuern
    	$sServ = Random (1,8,1)																			;~ Random Server auswahl
    	If $sServ = 1 Then
    		$sServer = "Germany, Bavaria, Munich (LOC 1)"
    	EndIf
    	If $sServ = 2 Then
    		$sServer = "Germany, Bavaria, Munich (LOC 2)"
    	EndIf
    	If $sServ = 3 Then
    		$sServer = "Germany, Bavaria, Nuremberg (LOC 1)"
    	EndIf
    	If $sServ = 4 Then
    		$sServer = "Germany, Bavaria, Nuremberg (LOC 2)"
    	EndIf
    	If $sServ = 5 Then
    		$sServer = "Germany, Bavaria, Nuremberg (LOC 3)"
    	EndIf
    	If $sServ = 6 Then
    		$sServer = "Germany, Berlin (LOC 1)"
    	EndIf
    	If $sServ = 7 Then
    		$sServer = "Germany, Dusseldorf (LOC 2)"
    	EndIf
    	If $sServ = 8 Then
    		$sServer = "Germany, Hesse, Frankfurt (LOC 1)"
    	EndIf
    	Do
    		_GUICtrlComboBox_SelectString(ControlGetHandle($sTitle, "", "[NAME:comboBoxVPNServer]"), $sServer)
    		WinActivate($sTitle)
    	Until ControlGetText($sTitle, "", "[NAME:comboBoxVPNServer]") = $sServer						;~ Server auswählen
    	MouseMove(0, 0, 0)
    	WinActivate($sTitle)
    	ControlClick($sTitle, "", "[NAME:comboBoxVPNServer]")
    	Sleep(200)
    	WinActivate($sTitle)
    	ControlClick($sTitle, "", "[NAME:comboBoxVPNServer]")
    	Sleep (500)
    	ControlClick($sTitle, "", "[NAME:buttonConnectToVPN]")											;~ Connecten
    	$i = 0
    	Do
    		$i += 1
    		Sleep (1000)
    		If $i = IniRead ("config.ini","Intern","VPN Wait","") Then									;~ warten bis verbunden ist
    			_Error("HMA Connect Problem. HMA connect dauert zu lange. Server: "&$sServer)
    				MsgBox (48,"VPN Problem", "Writing error.log...",2)
    			_HMAconnect()
    		EndIf
    	Until ControlCommand($sTitle, "", "[NAME:buttonDisconnectVPN]", "IsEnabled") and ControlGetText($sTitle, "", "[NAME:textBoxNewIPAddress]") <> "Loading..."
    EndFunc ;~ HMA Connect
    Alles anzeigen


    Meine Function um mir meine aktuelle IP zu holen:

    Code
    Func _IP()
    	$hSession = _WinHttpOpen ("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0")
    	$sHost = "whoer.net"
    	$hHoas = _WinHttpConnect ($hSession,$sHost)
    	$sPaket = _WinHttpSimpleRequest($hHoas, "GET")
    	$ip = _StringBetween ($sPaket,'title="Copy to clipboard">','</strong>')
    		_WinHttpCloseHandle ($hSession)
    		_WinHttpCloseHandle ($hHoas)
    	Return $ip[0]
    EndFunc


    Jetzt habe ich folgendes Problem, Meine _IP() Function fliegt sporadisch auf die schnauze (ich glaube wenn die Verbindung zum VPN noch nicht besteht)
    Bekomme ab und zu (nicht immer) die IP nicht via _StringBetween ausgelesen.

    Gibt es evtl. eine möglichkeit via StringRegExp und könnte mir jemand das Pattern dafür schreiben?

    Grüße =)

  • Formular wird mit falschen Daten gesendet

    • madd1n
    • 30. Juli 2013 um 15:21

    jo danke habe es schon selber gestern raus gefunden ^^

    Bekommt man hier im Forum auch Hilfe zu GOCR?
    Hänge grade an nem Captcha Problem.

    grüße

  • Formular wird mit falschen Daten gesendet

    • madd1n
    • 29. Juli 2013 um 14:50

    Huhu, bin ganz neu hier und habe direkt eine Frage :D

    Ich versuche einen Login für eine Seite zu erstellen, sobald ich die eingegebenen Daten abschicke steht da im login / pw feld jeweils nur 1 zeichen anstatt dem was ich vorher in ne variable gesteckt habe,
    hier mal der Code

    [autoit]


    $user = GUICtrlCreateInput("test", 120, 32, 137, 21)
    $pw = GUICtrlCreateInput("123456", 120, 72, 137, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))

    [/autoit]


    Abrufen tu ich das ganze dann mit meiner Function:

    [autoit]

    Func _Login()
    $url = ""
    $oIE = _IECreate ($url,0 , 1)
    $oForm = _IEGetObjByName($oIE, "loginform")
    $nickname = _IEFormElementGetObjByName($oForm, "nickname")
    _IEFormElementSetValue($nickname, $user)

    [/autoit][autoit][/autoit][autoit]

    $password = _IEFormElementGetObjByName($oForm, "password")
    _IEFormElementSetValue($password, $pw)

    [/autoit][autoit][/autoit][autoit]

    _IEFormSubmit($oForm, 0)
    _IELoadWait($oIE)

    [/autoit][autoit][/autoit][autoit]

    $txt = _IEBodyReadText($oIE)

    [/autoit][autoit][/autoit][autoit]

    $ans = StringRegExp($txt, "Diese Kombination aus Benutzername und Passwort ist nicht bekannt")
    If $ans = 1 Then
    MsgBox(1,"test", "Login failed")
    Else
    MsgBox(1,"test", "Login valid")
    EndIf
    GUICtrlSetState($Button1, $GUI_ENABLE)
    EndFunc

    [/autoit]

    sobald ich vor meiner While Schleife eine variable mit externer InputBox mache und da dann die Daten rein schreibe, geht es. Würde es aber gerne über das GUICtrlCreateInput laufen haben :/

    Hoffe habe es verständlich erklärt und mir kann jemand weiter helfen ^^

    Grüße

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™