첫째, 운영 환경
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 ()