Glavni problem s provjerom brzine interneta pomoću Pythona je taj što ne postoji standardiziran način za to. Različiti programi dat će vam različite rezultate, pa čak i ako jedan program kaže da je vaša veza brza, to u stvarnosti možda nije slučaj.
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()
Prva tri retka uvoze module speedtest, os i time.
Sljedeći redak definira funkciju pod nazivom test_speed(). Ova funkcija koristi modul za testiranje brzine za testiranje brzine internetske veze i vraća rezultate.
Sljedeći redak definira funkciju pod nazivom main(). Ova funkcija poziva funkciju test_speed() i ispisuje rezultate. Zatim spava 5 sekundi prije ponavljanja.
Konačno, ako se ova datoteka izvodi kao skripta (umjesto da se uvozi kao modul), poziva se funkcija main().
Što je brzina interneta
Brzina interneta u Pythonu može se mjeriti u bajtovima po sekundi.
Usluge brzine interneta
Postoji nekoliko različitih načina za mjerenje brzine internetske veze u Pythonu. Najjednostavniji način je korištenje ugrađene funkcije time. time() ispisuje trenutno vrijeme u sekundama.
Drugi način mjerenja brzine internetske veze je korištenje naredbe netstat. netstat prikazuje sve aktivne mrežne veze i njihov status. Za dobivanje informacija o brzini određene mrežne veze upotrijebite opciju -i:
$ netstat -i | grep “:80” Aktivne internetske veze (poslužitelji i klijenti) Proto Recv-Q Send-Q Lokalna adresa Strana adresa Država PID/naziv programa 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