安装 pip install pycurl 示例代码 import pycurl class Test : def __init__ ( self ): self . contents = '' def body_callback ( self , buf ): self . contents = self . contents + buf def gzip ( url ): t = Test () c = pycurl . Curl () # c.s
安装
pip install pycurl
示例代码
import pycurlclass Test:
def __init__(self):
self.contents = ''
def body_callback(self, buf):
self.contents = self.contents + buf
def gzip(url):
t = Test()
c = pycurl.Curl()
# c.setopt(pycurl.WRITEFUNCTION, t.body_callback)
# c.setopt(pycurl.ENCODING,'gzip')
c.setopt(pycurl.URL, url)
c.perform()
print('状态码', c.getinfo(pycurl.HTTP_CODE))
print('域名解析时间', c.getinfo(pycurl.NAMELOOKUP_TIME))
print('远程服务器连接时间', c.getinfo(pycurl.CONNECT_TIME))
print('连接上后到开始传输时的时间', c.getinfo(pycurl.PRETRANSFER_TIME))
print('接收到第一个字节的时间', c.getinfo(pycurl.STARTTRANSFER_TIME))
print('上一请求总的时间', c.getinfo(pycurl.TOTAL_TIME))
print('如果存在转向的话,花费的时间', c.getinfo(pycurl.REDIRECT_TIME))
if __name__ == '__main__':
gzip('https://github.com/hanzhichao')
pycurl 的一些响应信息
<参考: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html>
- 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