Løst: Tjek internethastighed ved hjælp af python

Sidste ændring: 09/11/2023

Hovedproblemet med at tjekke internethastigheden ved hjælp af Python er, at der ikke er nogen standardiseret måde at gøre det på. Forskellige programmer vil give dig forskellige resultater, og selvom et program siger, at din forbindelse er hurtig, er det måske ikke tilfældet i virkeligheden.

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 første tre linjer importerer hastighedstest-, os- og tidsmodulerne.

Den næste linje definerer en funktion ved navn test_speed(). Denne funktion bruger hastighedstestmodulet til at teste hastigheden på internetforbindelsen og returnerer resultaterne.

Den næste linje definerer en funktion ved navn main(). Denne funktion kalder test_speed()-funktionen og udskriver resultaterne. Den sover derefter i 5 sekunder, før den gentages.

Endelig, hvis denne fil køres som et script (i stedet for at blive importeret som et modul), kaldes main()-funktionen.

Hvad er internethastighed

Internettets hastighed i Python kan måles i bytes per sekund.

Internethastighedstjenester

Der er et par forskellige måder at måle hastigheden på en internetforbindelse i Python. Den enkleste måde er at bruge den indbyggede funktionstid. time() udskriver den aktuelle tid i sekunder.

Den anden måde at måle hastigheden på en internetforbindelse på er at bruge kommandoen netstat. netstat viser alle aktive netværksforbindelser og deres status. For at få information om hastigheden af ​​en specifik netværksforbindelse skal du bruge -i-indstillingen:

$ netstat -i | grep “:80” Aktive internetforbindelser (servere og klienter) Proto Recv-Q Send-Q Lokal adresse Udenlandsk adresse Tilstand PID/programnavn tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 :::* LYT 672/docker tcp6 0 1 ::1:80 :::* LYT 672/docker

Relaterede indlæg: