Hello everyone and welcome back! 🙂
Today we are making a really simple beginner friendly script to check download speed and ping (in ms)
So lets get started:
import datetime
import time
import socket
import subprocess
import requests
def speedtest():
print("Starting the 5MB download speed test...")
start = time.time()
dwld_url = "http://ipv4.download.thinkbroadband.com/5MB.zip"
get_dwld = requests.get(dwld_url)
end = time.time()
diff = end - start
diff2 = diff
#diff = round(diff, 3)
divide = diff / 5
divide = round(divide,2)
#its how many seconds it took for a megabyte (10/5=2)
#not how many megabytes per second
divide = 1 / divide
divide = round(divide,2)
print("Dwld: ",divide,"MBps")
megabits = divide * 8
megabits = round(megabits,1)
print("Speed:",megabits,"Mbps")
diff2 = round(diff2,3)
print("\nIn {} seconds.".format(diff2))
#print("In ",divide, " seconds you downloaded a megabyte")
#print("Done in ",diff, " seconds")
def ping():
print("Pinging google DNS...")
#rep = os.system('ping -n 1 {} | findstr "ms"'.format(server_ip))
proc = subprocess.Popen('ping -n 1 8.8.8.8 | findstr "ms"', stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
out = out.decode('utf-8')
if "Average" in out:
#
out = out[-20:]
out = out.replace("Average =","")
out = out.replace("ms","")
out = out.replace(",","")
out = out.replace(" ","")
out = out.replace("\n","")
print("Your Ping:",out,"ms")
choice = str(input("1.)Ping(ms)\n2.)Download speed\n3.)Both\n>"))
if choice == "1":
ping()
elif choice == "2":
speedtest()
elif choice == "3":
print("\n[Ping]...\n")
ping()
print("\n[Speed]...\n")
speedtest()
else:
print("no")
There we go ! Thank you so much for visiting and have a nice day.