Скрипт Python для проверки подключения к Интернету
Введение
Вы можете использовать этот сценарий для проверки состояния подключения к Интернету в системе или сети. Этот сценарий может быть полезен в различных ситуациях, когда важно знать, подключен ли Интернет или нет, например:
- Автоматическое тестирование : при выполнении автоматических тестов для приложения, требующего подключения к Интернету, этот сценарий можно использовать для проверки наличия подключения к Интернету перед запуском тестов. Если Интернет не подключен, сценарий может остановить выполнение теста и сообщить о проблеме.
- Мониторинг : этот сценарий можно использовать для периодической проверки подключения к Интернету и отправки уведомлений или предупреждений, если Интернет отключен. Это может быть полезно для мониторинга состояния интернет-соединения в сети или системе.
- Диагностика : если приложение или система не работает должным образом и вы подозреваете, что проблема может заключаться в подключении к Интернету, этот сценарий можно использовать для быстрой проверки наличия подключения к Интернету. Если Интернет отключен, сценарий может предоставить возможные решения проблемы.
- Сценарий : этот сценарий можно использовать в более крупном сценарии или процессе автоматизации, который зависит от подключения к Интернету, где он может помочь продолжить или остановить процесс в зависимости от состояния подключения к Интернету.
Скрипт Python для проверки подключения к Интернету
Этот сценарий включает блоки try-except, которые перехватывают различные типы исключений и выводят сообщение об ошибке вместе с возможными исправлениями для этого исключения.
В этом скрипте я импортировал sysбиблиотеку и использовал этот sys.exit()метод для установки статуса выхода скрипта. Этот sys.exit(0)метод используется для указания того, что сценарий был успешно завершен и Интернет подключен. Этот sys.exit(1)метод используется, чтобы указать, что сценарий был завершен, но Интернет не подключен.
Статус выхода можно проверить, запустив скрипт и проверив значение специальной переменной оболочки $? после завершения сценария, который устанавливается в статус выхода. Например, если скрипт запущен и Интернет подключен, значение $? будет 0; если интернет не подключен, значение $? будет 1.
Вы также можете использовать статус выхода в своем терминале, чтобы принимать решения о том, продолжать ли выполнять другие команды или нет, в зависимости от подключения к Интернету.
Вот дальнейшая разбивка того, что делает каждая часть скрипта:
import requests:requestsБиблиотека импортируется, что позволяет скрипту делать HTTP-запросы к веб-сайтам.import socket:socketИмпортируется библиотека, которая используется для перехвата исключенияsocket.timeout.import sys:sysБиблиотека импортируется, что позволяет скрипту взаимодействовать с системой и устанавливать статус выхода скрипта.def check_internet_connectivity():check_internet_connectivity: Определена названная функция . Эта функция используется для проверки наличия подключения к Интернету путем попытки подключения к определенному веб-сайту (в данном случае Google.com).requests.get('http://www.google.com', timeout=5): эта строка кода пытается отправить GET-запрос к www.google.com , и в случае успеха скрипт вернет True, указывая на то, что Интернет подключен. Параметрtimeoutустановлен на 5 секунд, что означает, что если выполнение запроса занимает более 5 секунд,socket.timeoutбудет возбуждено исключение.except requests.ConnectionError as e:: этот блок кода перехватываетrequests.ConnectionErrorисключение, которое возникает, когда не удается установить соединение с веб-сайтом.print(f"Loss of connectivity: {e}"): эта строка кода выводит на консоль сообщение об ошибке, которое может дать представление о причине потери подключения.print("Possible fixes:"): эта строка кода выводит на консоль сообщение, в котором предлагаются возможные способы исправления потери связи.return False: эта строка кода возвращает значение False, указывающее, что Интернет не подключен.except socket.timeout as e:: этот блок кода перехватываетsocket.timeoutисключение, которое возникает, когда для установления соединения с веб-сайтом требуется слишком много времени.except requests.ConnectTimeout as e:иexcept requests.ReadTimeout as e:: эти блоки кода перехватывают arequests.ConnectTimeoutиrequests.ReadTimeoutисключение соответственно, которые возникают, когда подключение к веб-сайту занимает слишком много времени для установления или чтения данных соответственно.if check_internet_connectivity():: эта строка кода проверяет, возвращает ли функцияcheck_internet_connectivity()True. Если это так, он печатает «Интернет подключен».sys.exit(0): эта строка кода используется для установки состояния выхода сценария на 0, что указывает на успешное выполнение сценария и подключение к Интернету.sys.exit(1): эта строка кода используется для установки статуса выхода сценария на 1, что указывает на то, что сценарий завершен, но Интернет не подключен.if check_internet_connectivity():: эта строка кода проверяет, возвращает ли функцияcheck_internet_connectivity()False. Если это так, он печатает «Интернет не подключен».
Спасибо, что нашли время, чтобы прочитать мой блог. Надеюсь, что предоставленная информация была для вас информативной и полезной. :) Если есть что-то еще, что вы хотели бы узнать, или у вас есть другие вопросы, пожалуйста, не стесняйтесь обращаться и спрашивать.

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































