Что нового

Авторизация на сайте прямо в окне Autoit

DjReactive

Новичок
Сообщения
17
Репутация
0
Искал-искал на форуме, много тем естественно облазил в поисках "Авторизации на сайте", но подходящего не нашел (мне нужно именно в окне autoit), либо я туплю))
Мне нужно сделать авторизацию прямо в окне Autoit с кнопочкой вход, и когда нажимаешь ее, просто он отправляет данные с Input'ов (логин и пароль), и если пара логин/пароль верны и авторизация успешна, то происходит какое-то действие к примеру вылазит сообщение об успешном входе, и также если не вошел в систему.

Помогите, пожалуйста)
 

ArtInt

Знающий
Сообщения
135
Репутация
18
DjReactive, речь об авторизации на каком-то конкретном сайте? И как это дальше должно использоваться?
 
Автор
D

DjReactive

Новичок
Сообщения
17
Репутация
0
Ну это можно как то реализовать в окне GUI. К примеру, вводишь в пустые Input's логин и пароль, нажимаешь кнопку вход и он отправляет эти данные на сайт и если данные верны то вылезает окно с оповещением об успешной авторизации и аналогично если данные не верны.
Код:
$oIE = _IECreate("http://www.dayzrun.ru/index.php?app=core&module=global&section=login")
$oForm   = _IEFormGetCollection($oIE,2)
$oLogin  = _IEFormElementGetObjByName($oForm,"ips_username")
$oPass   = _IEFormElementGetObjByName($oForm,"ips_password")
_IEFormElementSetValue($oLogin,GUICtrlRead($Input_1))
_IEFormElementSetValue($oPass,GUICtrlRead($Input_2))
_IEFormSubmit($oForm)

Вот это подходит, только он мне не в GUI окне авторизуется, а открывает IE и заходит там (тем более не знаю, как проверить зашел ли он на сайт или нет)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
DjReactive [?]
Ну это можно как то реализовать в окне GUI. К примеру, вводишь в пустые Input's логин и пароль, нажимаешь кнопку вход и он отправляет эти данные на сайт и если данные верны то вылезает окно с оповещением об успешной авторизации и аналогично если данные не верны.

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <IE.au3>
Local $oIE, $Gui_1, $Input_1, $Input_2, $Button_1, $Browser_1
Local $idButton_Back, $idButton_Forward
Local $idButton_Home, $idButton_Stop, $iMsg
$Gui_1 = GUICreate("Авторизация", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
GUICtrlCreateLabel("Логин", 10, 10, 60, 30)
$Input_1 = GUICtrlCreateInput("", 80, 10, 300, 30)

GUICtrlCreateLabel("Пароль", 10, 50, 60, 30)
$Input_2 = GUICtrlCreateInput("", 80, 50, 300, 30, $ES_PASSWORD)

$Button_1 = GUICtrlCreateButton("Войти", 90, 90, 100, 30)

$oIE = _IECreateEmbedded()
$Browser_1 = GUICtrlCreateObj($oIE, 10, 140, 600, 360)
_IENavigate($oIE, "about:blank")

$idButton_Back = GUICtrlCreateButton("Back", 10, 520, 100, 30)
$idButton_Forward = GUICtrlCreateButton("Forward", 120, 520, 100, 30)
$idButton_Home = GUICtrlCreateButton("Home", 230, 520, 100, 30)
$idButton_Stop = GUICtrlCreateButton("Stop", 340, 520, 100, 30)

GUICtrlSetState($Button_1, $GUI_DEFBUTTON)
GUISetState()

While 1
	$iMsg = GUIGetMsg()
	Switch $iMsg
		Case $GUI_EVENT_CLOSE
			ExitLoop

		Case $Button_1
			_IENavigate($oIE, "http://www.dayzrun.ru/index.php?app=core&module=global&section=login")
			_IELoadWait($oIE)
			$oForm = _IEFormGetCollection($oIE, 2)
			$oLogin = _IEFormElementGetObjByName($oForm, "ips_username")
			$oPass = _IEFormElementGetObjByName($oForm, "ips_password")
			_IEFormElementSetValue($oLogin, GUICtrlRead($Input_1))
			_IEFormElementSetValue($oPass, GUICtrlRead($Input_2))
			_IEFormSubmit($oForm)
			_IELoadWait($oIE)
			If StringInStr(_IEBodyReadHTML($oIE), "Логин или пароль неверны.") > 0 Then
				MsgBox(16, "Ошибка", "Логин или пароль указаны неверно", 60, $Gui_1)
				GUICtrlSetState($Input_1, $GUI_FOCUS)
			Else
				MsgBox(0, "Успешно", "Авторизация прошла успешно", 60, $Gui_1)
			EndIf

		Case $idButton_Back
			_IEAction($oIE, "back")

		Case $idButton_Forward
			_IEAction($oIE, "forward")

		Case $idButton_Home
;~ _IEAction($oIE, "home")
			_IENavigate($oIE, "about:blank")

		Case $idButton_Stop
			_IEAction($oIE, "stop")
	EndSwitch
WEnd
 
Верх