Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 21, 2018 01:32:46

MasterCard
Зарегистрирован: 2018-06-15
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

Доброго утра друзья, не могу понять как сделать следующее: веду работу с исключением повешал таймаут и собственно как после if test == ‘Basic realm=“RT-N13U.B1”’: сделать еще одно else?

 import requests
def vpn(url):
    session = requests.session()
    try:
       r = requests.get('http://' + url, timeout=10)
       test = r.headers.get('WWW-Authenticate')
    except requests.exceptions.ConnectTimeout:
      print("11111")
      return False
    else:
         print("connection detec")
         return True
    if test == 'Basic realm="RT-N13U.B1"':
         print("BlaBla")
         return 0
    else: 
         print("detect")    
         return 1   
result = False and 0
while result != True and 1:
    vpn(input("Check: " ))

Отредактировано MasterCard (Июнь 21, 2018 02:51:43)

Офлайн

#2 Июнь 21, 2018 02:19:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

Используй теги code для отправки кода.



Офлайн

#3 Июнь 21, 2018 02:54:57

MasterCard
Зарегистрирован: 2018-06-15
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

py.user.next
Используй теги code для отправки кода.
Подправил.

Офлайн

#4 Июнь 21, 2018 02:56:15

MasterCard
Зарегистрирован: 2018-06-15
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

Check: 177.126.235.67:8080
connection detec
дальше не идет выполнение кода

Офлайн

#5 Июнь 21, 2018 03:07:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

И что ты пытаешься сделать? Опиши задачу.



Офлайн

#6 Июнь 21, 2018 03:27:29

MasterCard
Зарегистрирован: 2018-06-15
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

py.user.next
И что ты пытаешься сделать? Опиши задачу.
Данная функция проверят соеденение, т.к бывает исключение я его добавил. Далее мне нужно считать заголовок и если такой заголовок содержится, написать любое слово далее вставить новый ип. Коннект он проверяет, а вот дальше не идет(

Офлайн

#7 Июнь 21, 2018 04:16:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

Надо return True убрать.

Опиши задачу точно, без описывания кода. Твой код вообще безграмотный и там куча неправильных моментов как синтаксических, так и алгоритмических (то есть даже без кода, сам алгоритм кривой). Вместо того, чтобы его править, надо его стереть и заново написать код. Но для этого надо знать задачу.



Отредактировано py.user.next (Июнь 21, 2018 04:21:22)

Офлайн

#8 Июнь 21, 2018 04:24:25

MasterCard
Зарегистрирован: 2018-06-15
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

Проверить соеденение, если оно есть перейти к чтению заголовка, если заголовок присутствует вывести сообщение, если же нет передать параметр в другую ф-цию, все сделать это в одной-фции и с использованием таймаута, и исключения. Убрал return True, по прежнему)

Отредактировано MasterCard (Июнь 21, 2018 04:26:30)

Офлайн

#9 Июнь 21, 2018 08:45:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

  
import requests
 
class TimeoutError(Exception): pass
 
def process():
    ip = input("Check: ")
    try:
        auth = get_auth(make_url_from_ip(ip))
    except TimeoutError:
        print('error: timeout')
    print('See auth info: {}'.format(auth))
 
def get_auth(url, timeout=10, auth_header='WWW-Authenticate'):
    session = requests.Session()
    try:
        r = session.get(url, timeout=timeout)
    except requests.exceptions.ConnectTimeout:
        raise TimeoutError
    header = r.headers.get(auth_header)
    return header
 
def make_url_from_ip(ip):
    return 'https://' + ip
 
def main():
    while True:
        process()
 
if __name__ == '__main__':
    main()



Отредактировано py.user.next (Июнь 21, 2018 08:51:02)

Офлайн

#10 Июнь 21, 2018 11:40:14

MasterCard
Зарегистрирован: 2018-06-15
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с исключениями, выполнение после else if/else

py.user.next
Благодарствую, буду дома, начну разбирать)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version