-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
доступ к роутеру через http
нужно переодически перегружать роутер.
нашел комманду для линукса
curl -u 'admin:Your-Password-Here' 'http://192.168.1.1/setup.cgi?todo=reboot'
в виндоус работать отказывается. работает только http://192.168.1.1/setup.cgi?todo=reboot
но при этом каждый раз просит логин-пароль.
есть ли аналог этой комманды для аутоит? или другие варианты решения проблеммы
|
Цитата:
или другие варианты решения проблеммы
|
Когда то давно, я для своего модема-роутера Callisto 821+ набросал такое, перегружается (при необходимости) до сих пор, хотя функцию можно оформить более професионально, но это уже вам решить, так же вам нужно заточить данную функцию для своего модема:
читать дальше »
Код:
MsgBox(64,"Message", _RestartModem(), 5)
Func _RestartModem() ;для модема-роутера Callisto 821+
Local $RouterLogin = "qe1dg7bm"
Local $RouterPass = "qa6yo9km"
Local $Router_IP = "192.168.1.1"
Local $Port = 23
Local $Recv
Local $errorkod=-1
Local $ConnectedSocket = -1
TCPStartup()
$ConnectedSocket = TCPConnect($Router_IP , $Port)
If $ConnectedSocket = -1 Then
$errorkod= "0"
Return $errorkod
EndIf
; Message Loop
;==========
While 1
Sleep(50)
;
$Recv= TCPRecv( $ConnectedSocket, 2048)
If @error Then
$errorkod= "2"
ExitLoop
EndIf
;
If $Recv <> "" Then
Switch $recv
Case StringInStr($Recv,"Login failed")>0
$errorkod= "6"
ExitLoop
Case StringRight($Recv,7)= "Login: "
TCPSend( $ConnectedSocket , $RouterLogin & @CRLF)
If @ERROR Then
$errorkod= "3"
ExitLoop
EndIf
Case StringRight($Recv, 10)="Password: "
TCPSend( $ConnectedSocket , $RouterPass & @CRLF)
If @ERROR Then
$errorkod= "4"
ExitLoop
EndIf
Case StringInStr($Recv,"Login successful")>0
TCPSend( $ConnectedSocket , "system restart" & @CRLF)
If @ERROR Then
$errorkod= "5"
ExitLoop
EndIf
Case StringLeft($Recv,1)=="s"
TCPSend( $ConnectedSocket , "user logout" & @CRLF)
$errorkod= "Модем перезагружается"
ExitLoop
Case StringInStr($Recv,"Logging out")>0
$errorkod= "Модем перезагружается"
ExitLoop
EndSwitch
EndIf
$Recv=''
WEnd
; End Message Loop
;============
If $ConnectedSocket <> - 1 Then TCPCloseSocket($ConnectedSocket)
TCPShutdown()
if $errorkod<> "Модем перезагружается" then
Return "Не удалось перезагрузить модем. Код ошибки: "&$errorkod
else
Return "Модем перезагружается"
endif
EndFunc ;_RestartModem
|
Не совсем то что хотел, но СПАСИБО! буду разбираться...
|
решил проблемму след способом
читать дальше »
Код:
#include <Process.au3>
$var = Ping("google.com")
If $var Then ; also possible: If @error = 0 Then ...
Msgbox(0,"Status","google.com is Online, ping :" & $var,5)
Else
$rc = _RunDOS("curl -u admin:admin http://192.168.1.1/setup.cgi?todo=reboot")
EndIf
только пришлось установить http://curl.haxx.se/download/curl-7....nossl-sspi.zip
|
Время: 08:11.
© OSzone.net 2001-