Вирішено: перевірте швидкість Інтернету за допомогою python

Останнє оновлення: 09/11/2023

Основна проблема перевірки швидкості Інтернету за допомогою Python полягає в тому, що не існує стандартизованого способу це зробити. Різні програми дадуть різні результати, і навіть якщо одна програма каже, що ваше з’єднання швидке, це може бути не так насправді.

import speedtest import os import time def test_speed(): s = speedtest.Speedtest() s.get_best_server() s.download() s.upload() return s.results.dict()['download'] / 8000000,  s.results.dict()['upload'] / 8000000,  s.results.dict()['ping'] def main(): while True: download, upload, ping = test_speed() print('Download: {:0.2f} MbpstUpload: {:0.2f} MbpstPing: {} ms'.format(download, upload, ping)) time.sleep(5) if __name__ == '__main__': main()

Перші три рядки імпортують модулі speedtest, os і time.

Наступний рядок визначає функцію під назвою test_speed(). Ця функція використовує модуль speedtest для перевірки швидкості підключення до Інтернету та повертає результати.

Наступний рядок визначає функцію під назвою main(). Ця функція викликає функцію test_speed() і друкує результати. Потім він засинає на 5 секунд перед повторенням.

Нарешті, якщо цей файл виконується як сценарій (а не імпортований як модуль), викликається функція main().

Що таке швидкість інтернету

Швидкість Інтернету в Python можна виміряти в байтах за секунду.

Сервіси швидкості інтернету

Існує кілька різних способів вимірювання швидкості з’єднання з Інтернетом у Python. Найпростішим способом є використання вбудованої функції time. time() виводить поточний час у секундах.

Другий спосіб вимірювання швидкості інтернет-з'єднання - це використання команди netstat. netstat відображає всі активні мережеві підключення та їхній статус. Щоб отримати інформацію про швидкість конкретного мережевого підключення, використовуйте опцію -i:

$ netstat -i | grep “:80” Активні підключення до Інтернету (сервери та клієнти) Proto Recv-Q Send-Q Локальна адреса Зовнішня адреса Стан PID/Назва програми tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 :::* СЛУХАТИ 672/докер tcp6 0 1 ::1:80 :::* СЛУХАТИ 672/докер

Схожі повідомлення: