PycURl is a python binding library for libcurl written in C language. libcurl is a free, easy-to-use URL transport library for client-side applications. Its functions are very powerful. PycURL is a very fast (refer to multiple concurrent operations) and feature-rich, but somewhat complex interface.
pycurl is a libcurl Python implementation written in c language. It is very powerful and supports operation protocols such as FTP, HTTP, HTTPS, TELNET, etc.
Description of common methods of the module:
close() method, corresponding to the curl_easy_cleanup method in the libcurl package, has no parameters, and implements closing and recycling Curl objects.
·Perform() method, corresponding to the curl_easy_perform method in the libcurl package, has no parameters, and implements the submission of Curl object requests.
·setopt(option,value) method corresponds to the curl_easy_setopt method in the libcurl package. The parameter option is specified through the constant of libcurl. The value of the parameter value will depend on the option, which can be a string, integer, or long Type, file object, list or function, etc.
pycurl.Curl() #Create a curl object
c.setopt(pycurl.CONNECTTIMEOUT,5) #Waiting time for the connection, set to 0 to not wait
c.setopt(pycurl.TIMEOUT,5) #Request timeout
c.setopt(pycurl.NOPROGRESS,0) #Whether to block the download progress bar, if not 0, block it
c.setopt(pycurl. MAXREDIRS,5) #Specify the maximum number of HTTP redirects
c.setopt(pycurl.FORBID_REUSE,1) #Forcibly disconnect after completing the interaction and not reuse
c.setopt(pycurl.FRESH_CONNECT,1) # Force to obtain a new connection, that is, replace the connection in the cache
c.setopt(pycurl.DNS_CACHE_TIMEOUT,60) #Set the time to save DNS information, the default is 120 seconds
c.setopt(pycurl.URL,"http ://www.baidu.com") #Specify the requested URL
c.setopt(pycurl.USERAGENT,"Mozilla/5.2(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2 .0.50324)")#Configure the User-Agent that requests the HTTP header
c.setopt(pycurl.HEADERFUNCTION,getheader) #Direct the returned HTTPHEADER to the callback function getheader
c.setopt(pycurl.WRITEFUNCTION,getbody) #Direct the returned content to the callback function getbody
c.setopt(pycurl.WRITEHEADER,fileobj) #Direct the returned HTTPHEADER to the fileobj file object
c.setopt(pycurl.WRITEDATA,fileobj) #Direct the returned The HTML content is directed to the fileobj file object
·getinfo(option) method, corresponding to the curl_easy_getinfo method in the libcurl package. The parameter option is specified through the constant of libcurl
c=pycurl.Curl( ) #Create a curl object
c.getinfo(pycurl.HTTP_CODE) #The returned HTTP status code
c.getinfo(pycurl.TOTAL_TIME) #The total time spent at the end of the transmission
c.getinfo(pycurl .NAMELOOKUP_TIME) #The time consumed by DNS resolution
c.getinfo(pycurl.CONNECT_TIME) #The time consumed by establishing a connection
c.getinfo(pycurl.PRETRANSFER_TIME) #The time consumed from establishing the connection to preparing for transmission
c.getinfo(pycurl.STARTTRANSFER_TIME) #The time consumed from establishing the connection to the start of transmission
c.getinfo(pycurl.REDIRECT_TIME) #The time consumed by redirection
c.getinfo(pycurl.SIZE_UPLOAD) #Upload packet size
c.getinfo(pycurl.SIZE_DOWNLOAD) #Download packet size
c.getinfo(pycurl.SPEED_DOWNLOAD) #Average download speed
c.getinfo(pycurl.SPEED_UPLOAD) #Average upload Speed
c.getinfo(pycurl.HEADER_SIZE) #HTTP header size
Related recommendations:
The above is the detailed content of Briefly talk about Python's pycurl module_python. For more information, please follow other related articles on the PHP Chinese website!