Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] доступ к роутеру через http (http://forum.oszone.net/showthread.php?t=221436)

Russo 25-11-2011 12:41 1803047

доступ к роутеру через 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
но при этом каждый раз просит логин-пароль.

есть ли аналог этой комманды для аутоит? или другие варианты решения проблеммы

beve 26-11-2011 03:30 1803621

Цитата:

или другие варианты решения проблеммы
Когда то давно, я для своего модема-роутера 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


Russo 29-11-2011 17:44 1805800

Не совсем то что хотел, но СПАСИБО! буду разбираться...

Russo 29-11-2011 19:34 1805875

решил проблемму след способом

читать дальше »

Код:


#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.

Время: 08:11.
© OSzone.net 2001-