python3 네트워크 속도 테스트 사이트

첫째, 운영 환경

1, 윈도우 (10)

2, 파이썬 3.8

둘째, 타사 라이브러리 pycurl의 설치

1, 처음 설치

pip install wheel

2 장착 pycurl

https://download.lfd.uci.edu/pythonlibs/t7epjj8p/pycurl-7.43.0.3-cp38-cp38-win_amd64.whl

셋째, 테스트 스크립트

. (1)  오기 pycurl
 2  오기 OS, SYS
 . 3  오기 시간
 . 4  오기 SYS
 . 5  
. 6  
. 7  은 try :
 . 8      [. 1] URL sys.argv에 =     #의 테스트 사이트의 도메인 이름 
9.  제외 예외 AS E :
 10      인쇄 ( " 오류 : " + STR (E ))
 11      인쇄 ( " : 사용 프로브에 웹 주소를 입력하십시오 " )
 (12)      sys.exit ()를
 13  # 의 URL = "http://www.baidu.com"도메인 # 테스트 사이트 
(14) C =pycurl.Curl ()    
 15  c.setopt (pycurl.URL, URL)    
 16 c.setopt (pycurl.CONNECTTIMEOUT 5 )    
 17 c.setopt (pycurl.TIMEOUT 5 )    
 18 c.setopt (pycurl.NOPROGRESS 1 )    
 19 c.setopt (pycurl.FORBID_REUSE 1 )    
 20 c.setopt (pycurl.MAXREDIRS 1 )    
 21 c.setopt (pycurl.DNS_CACHE_TIMEOUT, 30 )    
 22  
23 indexfile 오픈 (os.path.dirname (os.path.realpath를 (= __FILE__ )) + " /content.txt " , " WB " )
 (24) c.setopt (indexfile pycurl.WRITEHEADER)    
 (25)  (indexfile pycurl.WRITEDATA) c.setopt   
 26  시도 :
 27      c.perform ()     # 提交请求
(28)  를 제외한 전자와 같은 예외 :
 29      인쇄 ( " connecion 오류 : " + STR ( E))
 30      indexfile.close ()
 31      c.close ()
 32      sys.exit ()
 33  
34 NAMELOOKUP_TIME =   c.getinfo (c.NAMELOOKUP_TIME)   
 35 CONNECT_TIME =   c.getinfo (c.CONNECT_TIME)    
 36 PRETRANSFER_TIME =   c.getinfo (c.PRETRANSFER_TIME)   
 37 STARTTRANSFER_TIME = c.getinfo (c.STARTTRANSFER_TIME)    
 38                                                          
39 TOTAL_TIME = c.getinfo (c.TOTAL_TIME)    
 40 HTTP_CODE =   c.getinfo (c.HTTP_CODE)    
 41 SIZE_DOWNLOAD =   c.getinfo (c .SIZE_DOWNLOAD)   
 42 HEADER_SIZE = c.getinfo (c.HEADER_SIZE)   
 43 SPEED_DOWNLOAD = c.getinfo (c.SPEED_DOWNLOAD)    
 44  
45  인쇄 ( " 测试网站: " , URL)
 46  인쇄 ( " HTTP状态码{} " .format (HTTP_CODE))
47  인쇄 ( " HTTP 상태 코드 : %는 S " % (HTTP_CODE))
 48  인쇄 ( " DNS 확인 시간 :.. % 2F MS " % (NAMELOOKUP_TIME * 1000 ))
 49  인쇄 ( " 연결 시간을 설정 :.. %를 2 층 MS " % (CONNECT_TIME * 1000 ))
 (50)  이 전단 ( " 전송 시간에 대한 준비. % 2F MS. " % (PRETRANSFER_TIME * 1000 ))
 (51)는  인쇄 ( " 전송 시작 시간 :.. %는 2 층 MS " %는 (STARTTRANSFER_TIME * 1000 ))
 (52)는  인쇄 ( " 전송 총 시간의 끝 :. % 2F MS "% (* TOTAL_TIME 1000 ))
 (53)는  인쇄 ( " % 바이트 D / S 다운로드 패킷 크기 " % ) (SIZE_DOWNLOAD)
 (54)는  인쇄 ( " HTTP 헤더 크기 : D % 바이트 " % (header_size))
 55  인쇄 ( " 보통 다운로드 속도 % 바이트 D / S " % (SPEED_DOWNLOAD))
 (56)는  # 가까운 오브젝트 파일과 컬 
(57)은  indexfile.close ()
 58 c.close ()

넷째, 검증

추천

출처www.cnblogs.com/ccip-ma/p/12033566.html