Скрипт python для проверки status_code URL
Всем привет Подскажите, пожалуйста, пытаюсь сделать запрос к вебсайту 2 функцией app_request и хочу, чтоб если статус доступности сайта был 200, он возвращал 1 , если другой то 2, в первой функции get_status_app пытаюсь в зависимости от return app_request вывести app1 или app2 , для записи в метрику, что я делаю не так в коде, почему у меня не работает. я совсем новичок, поэтому извиняюсь
def get_status_app():
url_list = ('http://google.com')
for url in url_list:
status_app = (1):
if result_app == app_request[1]:
print('app1')
return 1
else:
print('app2')
return 0
get_status_app()
def app_request():
try:
resp = requests.get('http://google.com')
if resp.status_code == 200:
print('1')
return 1
else:
print('2')
return 0
except:
print('2')
return 0
app_request()
Ответы (1 шт):
Замечание по коду : Все функций располагаются сверху, основной код внизу после фунцкций, if result_app == app_request[1] неверный вызов функций надо app_request() даже если сделаем так if result_app == app_request(): все равно не рабочий код, так как result_app не присвоенно значение. Что это status_app = (1):? тут у нас что url_list = ('http://google.com')? судя по названию и по логики кода список url_list = list('http://google.com') или url_list = ['http://google.com']
import requests
def get_status_app():
url_list = ['http://google.com']
for url in url_list:
# status_app = (1)
if app_request() == 1:
return 'app1'
else:
return 'app2'
def app_request():
try:
resp = requests.get('http://google.com')
if resp.status_code == 200:
return 1
else:
return 2
except:
return 2
print(get_status_app())
'app1'
альтернативный вариант
import requests
url_list = ['http://google.com', "https://yandex.ru"]
dct = {}
for url in url_list:
try:
resp = requests.get(url)
status = True if resp.status_code == 200 else False
except Exception:
status = True
dct[url] = status
print(dct)
for key in dct:
print(key, 'Status:', 'Ok' if dct[key] else 'No')
# print(*(f"{key} Status: {'Ok' if dct[key] else 'No'}" for key in dct), sep='\n')
{'http://google.com': True, 'https://yandex.ru': True}
http://google.com Status: Ok
https://yandex.ru Status: Ok