Principala problemă cu verificarea vitezei internetului folosind Python este că nu există o modalitate standardizată de a face acest lucru. Diferitele programe vă vor oferi rezultate diferite și, chiar dacă un program spune că conexiunea dvs. este rapidă, s-ar putea să nu fie cazul în realitate.
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()
Primele trei linii importă modulele speedtest, os și time.
Următoarea linie definește o funcție numită test_speed(). Această funcție folosește modulul speedtest pentru a testa viteza conexiunii la internet și returnează rezultatele.
Următoarea linie definește o funcție numită main(). Această funcție apelează funcția test_speed() și tipărește rezultatele. Apoi doarme timp de 5 secunde înainte de a se repeta.
În cele din urmă, dacă acest fișier este rulat ca script (în loc să fie importat ca modul), funcția main() este apelată.
Ce este viteza internetului
Viteza internetului în Python poate fi măsurată în octeți pe secundă.
Servicii de viteză de internet
Există câteva moduri diferite de a măsura viteza unei conexiuni la Internet în Python. Cea mai simplă modalitate este să utilizați timpul de funcție încorporat. time() tipărește ora curentă în secunde.
A doua modalitate de a măsura viteza unei conexiuni la Internet este utilizarea comenzii netstat. netstat afișează toate conexiunile de rețea active și starea acestora. Pentru a obține informații despre viteza unei anumite conexiuni de rețea, utilizați opțiunea -i:
$ netstat -i | grep „:80” Conexiuni la internet active (servere și clienți) Proto Recv-Q Send-Q Adresă locală Adresă străină Stare PID/Nume program tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 :::* LISTEN 672/docker tcp6 0 1 ::1:80 :::* LISTEN 672/docker