MasterCard
Июнь 21, 2018 01:32:46
Доброго утра друзья, не могу понять как сделать следующее: веду работу с исключением повешал таймаут и собственно как после 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: " ))
py.user.next
Июнь 21, 2018 02:19:55
Используй теги code для отправки кода.
MasterCard
Июнь 21, 2018 02:54:57
py.user.next
Используй теги code для отправки кода.
Подправил.
MasterCard
Июнь 21, 2018 02:56:15
Check: 177.126.235.67:8080
connection detec
дальше не идет выполнение кода
py.user.next
Июнь 21, 2018 03:07:52
И что ты пытаешься сделать? Опиши задачу.
MasterCard
Июнь 21, 2018 03:27:29
py.user.next
И что ты пытаешься сделать? Опиши задачу.
Данная функция проверят соеденение, т.к бывает исключение я его добавил. Далее мне нужно считать заголовок и если такой заголовок содержится, написать любое слово далее вставить новый ип. Коннект он проверяет, а вот дальше не идет(
py.user.next
Июнь 21, 2018 04:16:34
Надо return True убрать.
Опиши задачу точно, без описывания кода. Твой код вообще безграмотный и там куча неправильных моментов как синтаксических, так и алгоритмических (то есть даже без кода, сам алгоритм кривой). Вместо того, чтобы его править, надо его стереть и заново написать код. Но для этого надо знать задачу.
MasterCard
Июнь 21, 2018 04:24:25
Проверить соеденение, если оно есть перейти к чтению заголовка, если заголовок присутствует вывести сообщение, если же нет передать параметр в другую ф-цию, все сделать это в одной-фции и с использованием таймаута, и исключения. Убрал return True, по прежнему)
py.user.next
Июнь 21, 2018 08:45:50
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()
MasterCard
Июнь 21, 2018 11:40:14
py.user.next
Благодарствую, буду дома, начну разбирать)