Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 28, 2012 17:16:32

dj_bios
От:
Зарегистрирован: 2012-01-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Python проверка доступности веб интерфейса роутера

Пишу приложение на phyton для обслуживания домашней сети, и вот понадобилось проверить, доступен ли в данный момент роутер с веб-мордой.
Пробовал такие вещи как:

url = urllib.urlopen('http://192.168.1.1')
(загонял в try except else, часто выдавало что роутер доступен, хотя он был выключен, а если был включен, появлялось “введит логин пассворд”, что стопорило процесс)
 conn = httplib.HTTPConnection("200.200.200.200", port="9999")
conn.request("GET", "/index")
r1 = conn.getresponse()
print r1.status
if r1.status!=200 and r1.status!=403:
sendmail()
elif r1.status==200 or r1.status==403:
print "Ok"
при доступном роутере прога вылетала

Посоветуйте, наверняка есть простой способ!



Отредактировано (Янв. 28, 2012 17:17:46)

Офлайн

#2 Фев. 1, 2012 10:43:13

Vader
От:
Зарегистрирован: 2010-01-30
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Python проверка доступности веб интерфейса роутера

В роутерах обычно basic authentication, поэтому стоит попробовать так:

import urllib
try:
response = urllib.urlopen('http://username:password@192.168.1.1')
if response.getcode() != 200:
sendmail()
else:
print 'Ok'
except IOError:
sendmail()



Отредактировано (Фев. 1, 2012 10:43:51)

Офлайн

#3 Фев. 2, 2012 06:26:26

minotavr_x86
От:
Зарегистрирован: 2010-05-21
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Python проверка доступности веб интерфейса роутера

Вариант просто пинговать чем не подходит?



Отредактировано (Фев. 2, 2012 06:27:42)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version