>백엔드 개발 >파이썬 튜토리얼 >Python의 pycurl module_python에 대해 간략하게 설명합니다.

Python의 pycurl module_python에 대해 간략하게 설명합니다.

不言
不言원래의
2018-04-08 10:50:471814검색

PycURl은 C 언어로 작성된 libcurl용 Python 바인딩 라이브러리입니다. libcurl은 클라이언트측 애플리케이션을 위한 사용하기 쉬운 무료 URL 전송 라이브러리입니다. 그 기능은 매우 강력합니다. PycURL은 매우 빠르고(다중 동시 작업 참조) 기능이 풍부하지만 다소 복잡한 인터페이스입니다.

pycurl은 C 언어로 작성된 libcurl의 Python 구현입니다. 이는 매우 강력하며 FTP, HTTP, HTTPS, TELNET 등과 같은 운영 프로토콜을 지원합니다.

모듈의 일반적인 메소드 설명:

close() 메소드, libcurl 패키지의 cur_easy_cleanup 메소드에 해당하며 매개변수 없음, Curl 객체를 닫고 재활용합니다.
·Perform() 메소드는 libcurl 패키지의 cur_easy_perform 메소드에 해당하며 매개변수가 없으며 Curl 객체 요청 제출을 구현합니다.
·setopt(option,value) 메소드는 libcurl 패키지의 cur_easy_setopt 메소드에 해당합니다. 매개변수 옵션은 libcurl의 상수를 통해 지정됩니다. 매개변수 값의 값은 문자열, 정수, 긴 정수, 파일 객체, 목록 또는 함수 등

pycurl.Curl() # 컬 객체 생성
c.setopt(pycurl.CONNECTTIMEOUT,5) # 연결 대기 시간, 기다리지 않으려면 0으로 설정
c.setopt(pycurl.TIMEOUT ,5) # 시간 초과 요청
c.setopt(pycurl.NOPROGRESS,0) # 다운로드 진행률 표시줄을 차단할지 여부, 0이 아니면 차단
c.setopt(pycurl.MAXREDIRS,5 ) # HTTP 리디렉션의 최대 수를 지정합니다
c .setopt(pycurl.FORBID_REUSE,1) # 상호 작용을 완료한 후 강제로 연결을 끊고 재사용하지 않습니다.
c.setopt(pycurl.FRESH_CONNECT,1) # 강제로 새 연결을 얻습니다. 즉, 캐시에서 연결을 교체합니다.
c.setopt(pycurl .DNS_CACHE_TIMEOUT,60) #DNS 정보를 저장할 시간을 설정합니다. 기본값은 120초입니다.
c.setopt(pycurl.URL,"http://www. baidu.com") # 요청된 URL을 지정합니다
c.setopt(pycurl.USERAGENT,"Mozilla/5.2(호환;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2.0.50324)")#구성 HTTP 헤더를 요청하는 사용자 에이전트
c.setopt(pycurl.HEADERFUNCTION,getheader ) # 반환된 HTTPHEADER를 콜백 함수로 전달 getheader
c.setopt(pycurl.WRITEFUNCTION,getbody) # 반환된 콘텐츠를 콜백 함수로 전달 getbody
c.setopt(pycurl.WRITEHEADER,fileobj) #반환된 HTTPHEADER를 fileobj 파일 객체로 전달
c.setopt(pycurl.WRITEDATA,fileobj) #반환된 HTML 콘텐츠를 fileobj 파일 객체로 전달

·getinfo(option) 메소드 , libcurl 패키지의 컬_easy_getinfo 메소드에 해당합니다. 매개변수 옵션은 지정된 libcurl의 상수를 통해 전달됩니다.

c=pycurl.Curl() # 컬 객체 생성
c.getinfo(pycurl.HTTP_CODE) # 반환된 HTTP 상태 코드
c.getinfo(pycurl.TOTAL_TIME) # 전송 종료 시 소요된 총 시간
c .getinfo(pycurl.NAMELOOKUP_TIME) # DNS 확인에 소요된 시간
c.getinfo(pycurl.CONNECT_TIME) # 전송 완료에 소요된 시간 Connection
c.getinfo(pycurl.PRETRANSFER_TIME) # 연결이 이루어진 후 전송 준비까지 걸린 시간
c.getinfo(pycurl.STARTTRANSFER_TIME) # 연결이 이루어진 후 전송 시작까지 걸린 시간
c.getinfo(pycurl .REDIRECT_TIME) #리디렉션에 소요되는 시간
c.getinfo(pycurl.SIZE_UPLOAD) #업로드 패킷 크기
c.getinfo(pycurl.SIZE_DOWNLOAD) #다운로드 패킷 크기
c.getinfo(pycurl.SPEED_DOWNLOAD) #평균 다운로드 속도
c .getinfo(pycurl.SPEED_UPLOAD) #평균 업로드 속도
c.getinfo(pycurl.HEADER_SIZE) #HTTP 헤드 크기

관련 권장 사항:

위 내용은 Python의 pycurl module_python에 대해 간략하게 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.