Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] доступ к роутеру через http

Ответить
Настройки темы
[решено] доступ к роутеру через http

Пользователь


Сообщения: 59
Благодарности: 0

Профиль | Отправить PM | Цитировать


нужно переодически перегружать роутер.
нашел комманду для линукса
curl -u 'admin:Your-Password-Here' 'http://192.168.1.1/setup.cgi?todo=reboot'
в виндоус работать отказывается. работает только http://192.168.1.1/setup.cgi?todo=reboot
но при этом каждый раз просит логин-пароль.

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

Отправлено: 12:41, 25-11-2011

 

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


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

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:30, 26-11-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 59
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 17:44, 29-11-2011 | #3


Пользователь


Сообщения: 59
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

Код: Выделить весь код
#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

Отправлено: 19:34, 29-11-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] доступ к роутеру через http

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Доступ к папке по http SANIOK_AV Microsoft Windows NT/2000/2003 9 11-05-2010 14:42
2008 R2 - Доступ ипо http из сети к серверу ultrakiller Windows Server 2008/2008 R2 0 05-02-2010 09:00
Как сделать доступным интернет через другой пк подключенный к роутеру? analitik Хочу все знать 2 30-12-2008 09:29
можно ли закрыть анонимный доступ в http://code.google.com/ Vlad Drakula Вебмастеру 2 09-08-2006 23:34
Подключение через HTTP DIMAIN Программирование и базы данных 5 18-02-2005 00:28




 
Переход