Đã giải quyết: kiểm tra tốc độ internet bằng python

Vấn đề chính khi kiểm tra tốc độ internet bằng Python là không có cách chuẩn hóa nào để thực hiện. Các chương trình khác nhau sẽ cung cấp cho bạn các kết quả khác nhau và ngay cả khi một chương trình cho biết kết nối của bạn nhanh, điều đó có thể không đúng trong thực 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()

Ba dòng đầu tiên nhập các mô-đun speedtest, os và time.

Dòng tiếp theo định nghĩa một hàm có tên test_speed(). Chức năng này sử dụng mô-đun speedtest để kiểm tra tốc độ kết nối internet và trả về kết quả.

Dòng tiếp theo định nghĩa một hàm có tên là main(). Hàm này gọi hàm test_speed() và in kết quả. Sau đó, nó sẽ ngủ trong 5 giây trước khi lặp lại.

Cuối cùng, nếu tệp này đang được chạy dưới dạng tập lệnh (chứ không phải được nhập dưới dạng mô-đun), hàm main() sẽ được gọi.

tốc độ internet là gì

Tốc độ của Internet trong Python có thể được đo bằng byte mỗi giây.

Dịch vụ tốc độ Internet

Có một số cách khác nhau để đo tốc độ kết nối Internet trong Python. Cách đơn giản nhất là sử dụng chức năng tích hợp sẵn time . time() in thời gian hiện tại tính bằng giây.

Cách thứ hai để đo tốc độ kết nối Internet là sử dụng lệnh netstat. netstat hiển thị tất cả các kết nối mạng đang hoạt động và trạng thái của chúng. Để nhận thông tin về tốc độ của một kết nối mạng cụ thể, hãy sử dụng tùy chọn -i:

$netstat -i | grep “:80” Các kết nối Internet đang hoạt động (máy chủ và máy khách) Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái PID/Tên chương trình tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 :::* NGHE 672/docker tcp6 0 1 ::1:80 :::* NGHE 672/docker

bài viết liên quan:

Để lại một bình luận