Home >Backend Development >Python Tutorial >Detailed explanation of curl library pycurl examples and parameters

Detailed explanation of curl library pycurl examples and parameters

高洛峰
高洛峰Original
2016-10-17 16:37:011540browse

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.


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn