Pycurl은 강력한 Python URL 라이브러리로 C 언어로 작성되었으며 urllib 및 httplib보다 매우 빠릅니다.
오늘은 pycurl의 사용법과 매개변수를 자세히 살펴보겠습니다
일반적인 메소드:
pycurl.Curl() #pycurl 객체를 생성하는 메소드
pycurl.Curl().setopt(pycurl.URL, http://www.pythontab.com) # 접근할 URL을 설정
pycurl.Curl().setopt(pycurl.MAXREDIRS, 5) # 최대 리디렉션 수 설정
pycurl.Curl().setopt(pycurl.CONNECTTIMEOUT, 60)
pycurl.Curl().setopt(pycurl.TIMEOUT, 300) #Connection 시간 초과 설정
pycurl.Curl().setopt(pycurl.USERAGENT, "Mozilla/5.0 (호환; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)") #브라우저 시뮬레이션
pycurl.Curl().perform() # 서버에서 반환된 정보
pycurl.Curl().getinfo(pycurl.HTTP_CODE) # HTTP 상태를 보는 것은 다음의 상태 속성과 유사합니다. urllib
pycurl.NAMELOOKUP_TIME 도메인 이름 확인 시간
pycurl.CONNECT_TIME 원격 서버 연결 시간
pycurl.PRETRANSFER_TIME 연결 후 전송 시작까지의 시간
pycurl .STARTTRANSFER_TIME 처음 수신된 시간 바이트
pycurl.TOTAL_TIME 이전 요청의 총 시간
pycurl.REDIRECT_TIME 리디렉션이 있는 경우 소요 시간
pycurl.EFFECTIVE_URL
pycurl.HTTP_CODE HTTP 응답 코드
pycurl.REDIRECT_COUNT 리디렉션 수
pycurl.SIZE_UPLOAD 업로드된 데이터 크기
pycurl.SIZE_DOWNLOAD 다운로드된 데이터 크기
pycurl.SPEED_UPLOAD 업로드 속도
pycurl.HEADER_SIZE 헤더 크기
pycurl.REQUEST_SIZE 요청 크기
pycurl.CONTENT_LENGTH_DOWNLOAD 다운로드 콘텐츠 길이
pycurl . CONTENT_LENGTH_UPLOAD 업로드 콘텐츠 길이
pycurl.CONTENT_TYPE 콘텐츠 유형
pycurl.RESPONSE_CODE 응답 코드
pycurl.SPEED_DOWNLOAD 다운로드 속도
pycurl.SSL_VERIFYRESULT
pycurl.INFO_FILETIME 파일 시간 정보
pycurl.HTTP_CONNECTCODE HTTP 연결 코드
pycurl.HTTPAUTH_AVAIL
pycurl.PROXYAUTH_AVAIL
pycurl.OS_ERRNO
pycurl.NUM_CONNECTS
pycurl.SSL_ENGINES
pycurl.INFO_COOKIELIST
pycurl.LASTSOCKET
pycurl.FTP_ENTRY_PATH
예:
import StringIO import pycurl c = pycurl.Curl() str = StringIO.StringIO() c.setopt(pycurl.URL, "http://www.pythontab.com") c.setopt(pycurl.WRITEFUNCTION, str.write) c.setopt(pycurl.FOLLOWLOCATION, 1) c.perform() print c.getinfo(pycurl.EFFECTIVE_URL)
PHP에 익숙한 친구들이라면 이 컬 라이브러리의 사용법이 PHP의 컬과 매우 유사하다는 것을 발견했을 것입니다.