Atrisināts: pārbaudiet interneta ātrumu, izmantojot python

Galvenā problēma, pārbaudot interneta ātrumu, izmantojot Python, ir tāda, ka nav standartizēta veida, kā to izdarīt. Dažādas programmas sniegs atšķirīgus rezultātus, un pat ja viena programma saka, ka savienojums ir ātrs, patiesībā tas tā var nebūt.

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

Pirmajās trīs rindās tiek importēti ātruma testa, operētājsistēmas un laika moduļi.

Nākamā rinda definē funkciju ar nosaukumu test_speed (). Šī funkcija izmanto ātruma pārbaudes moduli, lai pārbaudītu interneta savienojuma ātrumu, un atgriež rezultātus.

Nākamā rinda definē funkciju ar nosaukumu main (). Šī funkcija izsauc funkciju test_speed() un izdrukā rezultātus. Pēc tam tas guļ 5 sekundes pirms atkārtošanas.

Visbeidzot, ja šis fails tiek palaists kā skripts (nevis importēts kā modulis), tiek izsaukta funkcija main().

Kas ir interneta ātrums

Interneta ātrumu Python var izmērīt baitos sekundē.

Interneta ātruma pakalpojumi

Ir daži dažādi veidi, kā Python izmērīt interneta savienojuma ātrumu. Vienkāršākais veids ir izmantot iebūvēto funkcijas laiku . time() izdrukā pašreizējo laiku sekundēs.

Otrs veids, kā izmērīt interneta savienojuma ātrumu, ir izmantot komandu netstat. netstat parāda visus aktīvos tīkla savienojumus un to statusu. Lai iegūtu informāciju par konkrēta tīkla savienojuma ātrumu, izmantojiet opciju -i:

$ netstat -i | grep “:80” Aktīvie interneta savienojumi (serveri un klienti) Proto Recv-Q Send-Q Vietējā adrese Ārvalstu adrese Valsts PID/Programmas nosaukums tcp 0 0 127.0.0.1:80 0.0.0.0:* KLAUSIETIES 548/sshd tcp6 0 0 : ::80 :::* KLAUSIES 672/docker tcp6 0 1 ::1:80 :::* KLAUSI 672/docker

Related posts:

Leave a Comment