Pycurl is a powerful Python URL library. It is written in C language and is very fast, faster than urllib and httplib.
Today we take a look at the usage and parameters of pycurl in detail
Common methods:
pycurl.Curl() #Method to create a pycurl object
pycurl.Curl().setopt(pycurl.URL, http:// www.pythontab.com) #Set the URL to be accessed
pycurl.Curl().setopt(pycurl.MAXREDIRS, 5) #Set the maximum number of redirects
pycurl.Curl().setopt(pycurl.CONNECTTIMEOUT, 60)
pycurl.Curl().setopt(pycurl.TIMEOUT, 300) #Connection timeout setting
pycurl.Curl().setopt(pycurl.USERAGENT, "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)") #Simulate browser
pycurl.Curl().perform() #Information returned by the server
pycurl.Curl().getinfo(pycurl.HTTP_CODE) #View HTTP status is similar The status attribute in urllib
pycurl.NAMELOOKUP_TIME Domain name resolution time
pycurl.CONNECT_TIME Remote server connection time
pycurl.PRETRANSFER_TIME The time after connecting to when the transmission starts
pycurl.STARTTRANSFER_TIME The time when the first byte is received
pycurl.TOTAL_TIME The total time of the last request
pycurl.REDIRECT_TIME If there is a redirect, the time spent
pycurl.EFFECTIVE_URL
pycurl.HTTP_CODE HTTP response code
pycurl.REDIRECT_COUNT The number of redirects
pycurl.SIZ E_UPLOAD Uploaded data size
pycurl.SIZE_DOWNLOAD Downloaded data size
pycurl.SPEED_UPLOAD Upload speed
pycurl.HEADER_SIZE Header size
pycurl.REQUEST_SIZE Request size
pycurl.CONTENT_LENGTH_DOWNLOAD Download content Length
pycurl.CONTENT_LENGTH_UPLOAD Upload content Length
pycurl.CONTENT_TYPE Type of content
pycurl.RESPONSE_CODE Response code
pycurl.SPEED_DOWNLOAD Download speed
pycurl.SSL_VERIFYRESULT
pycurl.INFO_FILETIME Time information for the file
pycurl. HTTP_CONNECTCODE HTTP connection code
pycurl.HTTPAUTH_AVAIL
pycurl.PROXYAUTH_AVAIL
pycurl.OS_ERRNO
pycurl.NUM_CONNECTS
pycurl.SSL_ENGINES
pycurl.INFO_COOKIELIST
pycurl.LASTSOCKET
pycur l.FTP_ENTRY_PATH
Example:
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)
Friends who are familiar with php You may have discovered that the usage of this curl library is very similar to PHP's curl.