Löst: kontrollera internethastigheten med python

Det största problemet med att kontrollera internethastigheten med Python är att det inte finns något standardiserat sätt att göra det. Olika program kommer att ge dig olika resultat, och även om ett program säger att din anslutning är snabb, kanske det inte är fallet i verkligheten.

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()

De tre första raderna importerar hastighetstest-, OS- och tidsmodulerna.

Nästa rad definierar en funktion som heter test_speed(). Den här funktionen använder hastighetstestmodulen för att testa hastigheten på internetanslutningen och returnerar resultaten.

Nästa rad definierar en funktion som heter main(). Denna funktion anropar funktionen test_speed() och skriver ut resultaten. Den sover sedan i 5 sekunder innan den upprepas.

Slutligen, om den här filen körs som ett skript (istället för att importeras som en modul), anropas main()-funktionen.

Vad är internethastighet

Hastigheten på internet i Python kan mätas i byte per sekund.

Internethastighetstjänster

Det finns några olika sätt att mäta hastigheten på en internetanslutning i Python. Det enklaste sättet är att använda den inbyggda funktionstiden . time() skriver ut aktuell tid i sekunder.

Det andra sättet att mäta hastigheten på en Internetanslutning är att använda kommandot netstat. netstat visar alla aktiva nätverksanslutningar och deras status. För att få information om hastigheten för en specifik nätverksanslutning, använd alternativet -i:

$ netstat -i | grep “:80” Aktiva internetanslutningar (servrar och klienter) Proto Recv-Q Send-Q Lokal adress Utländsk adress Status PID/Programnamn 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

Relaterade inlägg:

Lämna en kommentar