Массовая проверка ip адресов

Нашел код в интернете и решил его подстроить немного под себя. Но в процессе корректировки были некоторые нюансы, которые вроде как устранились.

Теперь встал перед проблемой, которая не позволяет мне проверять сразу несколько адресов, в итоге при добавлении списка она просто выбивается в ошибку:

File "c:\Users\Admin\Desktop\Develop\test.py", line 42, in if send_ping_request():

File "c:\Users\Admin\Desktop\Develop\test.py", line 14, in send_ping_request s.connect((host, 80))

TypeError: str, bytes or bytearray expected, not list

Пытался найти решение в интернете, но в итоге вечно выскакивают ошибки, как бы я не пытался пофиксить это.

Вот сам код:

import winsound
import socket
import time
import datetime
import os
import sys
LOG_FNAME = "network.log"
FILE = os.path.join(os.getcwd(), LOG_FNAME)

def send_ping_request(host = ['127.0.0.1', '127.0.0.1', '127.0.0.1', '127.0.0.1', '127.0.0.1'] , timeout=3):
    try:
        socket.setdefaulttimeout(timeout)
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((host, 80))
    except OSError as error:
        return False
    else:
        s.close()
        return True
def write_permission_check():
        try:
            with open(FILE, "a") as file:
                pass
        except OSError as error:
            print("Ошибка создания файла журнала")
            sys.exit()
        finally:
            pass
def calculate_time(start, stop):
        time_difference = stop - start
        seconds = float(str(time_difference.total_seconds()))
        return str(datetime.timedelta(seconds=seconds)).split(".")[0]
def mon_net_connection(ping_freq=2):
        monitor_start_time = datetime.datetime.now()
        motd = "Мониторинг сетевого подключения начат в: " + str(monitor_start_time).split(".")[0] + " Отправка запроса ping в " + str(ping_freq) + " секунды"
        print(motd)

        with open(FILE, "a") as file:
            file.write("\n")
            file.write(motd + "\n")
while True:
        if send_ping_request():
            time.sleep(2)
        else:
            down_time = datetime.datetime.now()
            fail_msg = "Сетевое соединение недоступно в: " + str(down_time).split(".")[0]
            winsound.Beep(400,400)
            print(fail_msg)
            with open(FILE, "a") as file:
                file.write(fail_msg + "\n")
                i = 0               
            while not send_ping_request():
                time.sleep(1)
                i += 1
                if i >= 3600:
                    i = 0
                    now = datetime.datetime.now()
                    continous_message = "Постоянная недоступность сети: " + str(now).split(".")[0]
                    print(continous_message)
                    with open(FILE, "a") as file:
                        file.write(continous_message + "\n")
                        up_time = datetime.datetime.now()
                        uptime_message = "Сетевое подключение восстановлено: " + str(up_time).split(".")[0]
                        down_time = calculate_time(down_time, up_time)
                        _m = "Подключение к сети было недоступно для " + down_time
                        print(uptime_message)
                        print(_m)

                        with open(FILE, "a") as file:
                            file.write(uptime_message + "\n")
                            file.write(_m + "\n")


            mon_net_connection()

Ответы (0 шт):